home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / FAQs / netfaqs / postscript-faq < prev    next >
Text File  |  1994-08-01  |  142KB  |  3,592 lines

  1.  
  2. Newsgroups: comp.lang.postscript,comp.answers,news.answers
  3. From: Jonathan Monsarrat <postscript-request@cs.brown.edu>
  4. Subject: PostScript monthly FAQ v2.2 12-26-93 [01-04 of 11]
  5. Content-Type: text
  6. Message-ID: <JGM.94Apr11234438@chekov.cs.brown.edu>
  7. Followup-To: poster
  8. Summary: Useful facts about the PostScript graphics programming language
  9. Sender: news@cs.brown.edu
  10. Supersedes: <JGM.93Apr16124153@vegas.cs.brown.edu>
  11. Reply-To: postscript-request@cs.brown.edu (PostScript FAQ comments address)
  12. Organization: Brown University Department of Computer Science
  13. Mime-Version: 1.0
  14. Date: Tue, 12 Apr 1994 04:44:38 GMT
  15. Approved: news-answers-request@MIT.Edu
  16. Expires: Thu, 12 May 1994 00:00:00 GMT
  17. Lines: 1169
  18. Xref: bloom-beacon.mit.edu comp.lang.postscript:9150 comp.answers:4866 news.answers:17932
  19.  
  20. Archive-name: postscript/faq/part1-4
  21. Last-modified: 1993/12/26
  22. Version: 2.2
  23.  
  24.                               -- PostScript -- 
  25.  
  26.                             Answers to Questions 
  27.  
  28.                     (the comp.lang.postscript FAQ v2.2) 
  29.  
  30.                                Jon Monsarrat 
  31.  
  32.                               jgm@cs.brown.edu 
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.                      This FAQ is formatted as a digest. 
  40.  
  41.                 Most news readers can skip from one question 
  42.  
  43.                      to the next by pressing control-G. 
  44.  
  45.  
  46.     Changes since the last version are marked with a '|' in the table 
  47.     of contents and in the sections in the text-only format of the FAQ. 
  48.  
  49.     Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
  50.     clone) users can run any of the X-windows and UNIX programs in the 
  51.     utilities section. See comp.os.linux. Also, there is now 
  52.     GhostScript for the Macintosh. 
  53.  
  54.     Many thanks to Dan Carrigan for reformatting the books and 
  55.     publishers section. 
  56.  
  57.     The utilities index from the comp.sources.postscript FAQ will be 
  58.     posted in comp.lang.postscript now too. 
  59.  
  60.     Please help fix the FAQ! All comments should be mailed to 
  61.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is 
  62.     when it is accompanied by a section of the FAQ that is edited and 
  63.     mailed to me verbatim as an example. If you would like to 
  64.     contribute, please read the section ``about the FAQ'' first. Thank 
  65.     you! 
  66.  
  67.     Books and programs are referred to by name only. See the book 
  68.     sections for book information, and the comp.sources.postscript FAQ 
  69.     for a full list of all PostScript related programs. I have archived 
  70.     a number of the small utilities in 
  71.     wilma.cs.brown.edu:pub/postscript. You can get the 
  72.     comp.sources.postscript FAQ from 
  73.     wilma.cs.brown.edu:pub/comp.sources.postscript. 
  74.  
  75.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics, 
  76.     comp.sys.mac.apps, comp.sources.postscript. 
  77.  
  78.     Table of Contents 
  79.  
  80.  
  81.     This FAQ has 11 sections. It is available by anonymous ftp to 
  82.     wilma.cs.brown.edu:pub/comp.lang.postscript/FAQ.txt in ASCII, and 
  83.     there are also LaTeX, DVI, and PostScript formats. 
  84.  
  85.   
  86.          1 General Questions 
  87. |           1.1 What is PostScript? 
  88.             1.2 How can I tell how many pages my document will have? 
  89.             1.3 How can I print just one page or a few pages from a big 
  90.             1.4 How can I print more than one page per sheet of paper? 
  91. |           1.5 How can I edit a PostScript picture? 
  92.             1.6 How can I print PostScript on a non-PostScript printer? 
  93. |           1.7 How do I print a file containing 8-bit characters? 
  94.             1.8 What other graphics languages are there? 
  95.          2 Printers 
  96.             2.1 How can I get my printer to talk back to me? 
  97. |           2.2 Should I leave my printer on? 
  98. |           2.3 How do you print double-sided on a single-sided printer? 
  99.             2.4 How do I suppress the power-on start page? 
  100.             2.5 How do I make a downloaded font ``persistent''? 
  101.             2.6 How do I remove a persistent (``permanent'') downloaded font? 
  102.             2.7 How do I reset the printer without power-cycling? 
  103.             2.8 About saving files 
  104. |           2.9 What's the control-D business? 
  105.             2.10 Why does the printer say ``still busy'' when my document is 
  106.             2.11 How should I set up my spoolers? 
  107. |           2.12 What are PPD files? 
  108. |           2.13 What's a timeout error? 
  109.          3 Formats and Conversions 
  110.             3.1 How can I convert PostScript to some other graphics format? 
  111. |           3.2 How can I convert HPGL to PostScript? 
  112.             3.3 How can I convert DVI to PostScript? 
  113.             3.4 How can I convert HP Laserjet language (PCL) to PostScript? 
  114.             3.5 How can I convert TeX PK format font to PostScript? 
  115.             3.6 How do I embed PostScript into troff? 
  116.             3.7 How do I embed PostScript into LaTeX or TeX? 
  117.             3.8 How can I convert an image to PostScript? 
  118.             3.9 How can I convert ASCII text to PostScript? 
  119.             3.10 How can I convert PostScript to ASCII? 
  120. |           3.11 How do I convert between PFB, PFA, Mac, PFM, and AFM? 
  121.          4 Fonts 
  122. |           4.1 What are .PFB and .PFA files? 
  123. |           4.2 How does Macintosh Store PostScript Fonts? 
  124.             4.3 How can I convert a PostScript font to TeX's PK format? 
  125.             4.4 Why are Adobe fonts hidden? 
  126.             4.5 How do I get bitmap representations of Adobe fonts? 
  127.             4.6 What are some good ftp sites for fonts? 
  128.             4.7 How can I re-encode a font? 
  129.             4.8 What's the difference between a Type 1 and a Type 3 font? 
  130. |           4.9 What vendors sell fonts for PostScript printers? 
  131.             4.10 What are ATM fonts? 
  132.             4.11 What are Multiple Master Fonts? 
  133.             4.12 Do I need a Level Two printer to use Multiple Master Fonts? 
  134.             4.13 What are Type 4 fonts? 
  135.             4.14 What are Type 5 fonts? 
  136.             4.15 Is there an editor for Type 1 Fonts? 
  137.          5 Books 
  138.             5.1 Books 
  139.             5.2 Publishers 
  140.          6 About Adobe 
  141.             6.1 How do I get in touch with Adobe? 
  142.             6.2 What can Adobe do for me? 
  143.          7 Programming in PostScript 
  144.             7.1 What is PostScript level 2? 
  145.             7.2 Should I learn level 2 PostScript? 
  146.             7.3 Where can I find examples of PostScript code? 
  147.             7.4 What is the physical size of the page? 
  148.             7.5 What is the Imagable Area of the page 
  149.             7.6 Why can't I do a pathforall after a charpath ? 
  150.             7.7 How do I center a string of text around a point? 
  151.             7.8 How can I concatenate two strings together? 
  152.             7.9 What do I do when I get stack overflow/underflow? 
  153.             7.10 How can I print in landscape mode? 
  154.          8 Computer-specific PostScript 
  155.             8.1 Sun Workstations 
  156.             8.2 IBM PC 
  157.             8.3 Apple Macintosh 
  158.          9 Encapsulated PostScript 
  159.             9.1 What is Encapsulated PostScript? 
  160.             9.2 What are EPSI and EPSF? 
  161.             9.3 How do I convert PostScript to EPS? 
  162.             9.4 How do I get the bounding box of a PostScript picture? 
  163.          10 About The Comp.Lang.PostScript FAQ (and Usenet Guide to 
  164.             10.1 The PostScript FAQ: What is it? 
  165.             10.2 How to get the FAQ files 
  166.             10.3 How to write a FAQ answer 
  167.             10.4 The FAQ can contain LaTeX and PostScript inserts 
  168.             10.5 Revising the FAQ 
  169.             10.6 How to submit new information 
  170.             10.7 How to add a program description to the FAQ index 
  171.             10.8 How to add a book description to the FAQ 
  172.             10.9 Questions that need answers 
  173.          11 About PostScript 2 
  174.             11.1 What printers support Level 2 PostScript? 
  175.             11.2 What is PostScript Level 2? 
  176.             11.3 [ Color Extensions ] 
  177.             11.4 [ Composite Font Extensions ] 
  178.             11.5 [ Display PostScript Extensions ] 
  179.             11.6 [ Overview of Level 2 Features ] 
  180.             11.7 Filters 
  181.             11.8 Binary Encoding 
  182.             11.9 Optimized graphics operators 
  183.             11.10 Optimized text operators 
  184.             11.11 Forms 
  185.             11.12 Patterns 
  186.             11.13 Images 
  187.             11.14 Composite Fonts 
  188.             11.15 New Color Spaces 
  189.             11.16 New screening/halftoning technology 
  190.             11.17 Improved printer support features 
  191.             11.18 Interpreter parameters 
  192.             11.19 Resources 
  193.             11.20 Dictionaries 
  194.             11.21 When did Level 2 products come available? 
  195.             11.22 Are Level 1 and Level 2 implementations compatible? 
  196.   
  197.  
  198.  
  199. Subject: 1 General Questions
  200.  
  201.  
  202. Subject: 1.1 What is PostScript? 
  203.  
  204.     PostScript is a page description programming language. 
  205.  
  206.     It is perhaps the most versatile and loved language for printers, 
  207.     being used in printers world-wide. It is capable of drawing to 
  208.     computer screens and any kind of drawing device. PostScript is 
  209.     interpreted, stack based and has latent typing. It somewhat 
  210.     resembles the computer language FORTH. 
  211.  
  212.     A number of programmers write PostScript programs directly for a 
  213. |   variety of drawing applications. The NeXTSTEP Operating System, 
  214. |   running on Intel-486 and Motorola machines, uses Display 
  215. |   PostScript Level II to manage the display. However, PostScript 
  216.     programs are usually documents meant to be printed that have been 
  217.     generated by a program written in some compiled language. 
  218.  
  219.  
  220. Subject: 1.2 How can I tell how many pages my document will have? 
  221.  
  222.     The easiest way to count pages is view your document on-line with a 
  223.     PostScript previewer. Some previewers like Ghostview and GSPreview 
  224.     count the pages for you. (See the comp.sources.postscript FAQ, 
  225.     which has a section ``PostScript Interpreters and Utilities''.) 
  226.  
  227.     If your document is generated by a program compliant with the 
  228.     Document Structuring Conventions, you should be able to just count 
  229.     the number of ``%%Page:'' comments imbedded in the document. 
  230.     With UNIX you can type 
  231.   
  232.   grep -c %%Page: document.ps
  233.   
  234.     to do this counting. (See Section 9, ``Encapsulated PostScript''.) 
  235.  
  236.     The only completely reliable way to count pages is to ask the 
  237.     printer after the job is printed. PostScript printers maintain a 
  238.     page counter that can be queried before and and after the job is 
  239.     printed, and the page count is a simple subtraction. This tends to 
  240.     require rather sophisticated spooling systems and a communications 
  241.     channel that is bidirectional. However, some printers allow you to 
  242.     submit jobs on one port, and issue queries on another. 
  243.  
  244.     Send this PostScript through a bidirectional I/O port and you'll 
  245.     get back the page count, nominally the total number of pages 
  246.     printed since manufacture: 
  247.  
  248.     statusdict begin pagecount == end flush 
  249.  
  250.     Experts using a level 2 printer can use the SerialOff.PS and 
  251.     SerialEHandlder.ps programs to communicate bidirectionally to the 
  252.     printer. 
  253.  
  254.  
  255. Subject: 1.3 How can I print just one page or a few pages from a big 
  256.     document? How can I print pages in reverse order? 
  257.  
  258.     Try using a host-specific program, like the UNIX command psrev, 
  259.     which is part of the TranScript suite of software from Adobe 
  260.     Systems. Or use the more general utilities Ghostview, psutils or 
  261.     psxlate. 
  262.  
  263.     There is no guarantee that a given PostScript document can be split 
  264.     in such a manner. The reason is that some programs which generate 
  265.     PostScript code don't conform to the Adobe Document Structuring 
  266.     Conventions (DSC). (See Section 9, ``Encapsulated PostScript''.) A 
  267.     notable example of this is Microsoft Word. 
  268.  
  269.  
  270. Subject: 1.4 How can I print more than one page per sheet of paper? 
  271.  
  272.     Use psnup or pstext or enscript. 
  273.  
  274.     These programs redefine the PostScript ``showpage'' command to do 
  275.     multiple PostScript pages per physical page. If one program doesn't 
  276.     work with a complex document, try out other ones. 
  277.  
  278.     Some PostScript programs can't work with these programs because 
  279.     they break the EPS conventions (See Section 9, ``Encapsulated 
  280.     PostScript''.). The reason is that some Postscript operators (such 
  281.     as initgraphics, the list is in the Red book) change the printer 
  282.     state so "violently", that software trying to do things like n-up 
  283.     will get confused. Theoretically, an EPS shouldn't have any of 
  284.     these operators, but it may not really be an EPS, or there may be a 
  285.     weird interaction between TeX, the EPS and the inclusion mechanism 
  286.     that breaks psnup. 
  287.  
  288.  
  289. Subject: 1.5 How can I edit a PostScript picture? 
  290.  
  291.     If you know the PostScript programming language, just use any text 
  292.     editor to edit the code directly. 
  293.  
  294.     If you want to do it visually, you can use Canvas on the Macintosh. 
  295. |   Arts Letters software package from Computer Support Corporation is 
  296. |   supposed to be able to read arbitrary EPS files, using a software 
  297. |   converter called Decipher. Also, Island Graphics has a trio of 
  298. |   software packages called, appropriately, Island Draw/Paint/Write. 
  299. |   This is also supposed to include a full-blown PostScript 
  300. |   interpreter, and be able to read and edit arbitrary PostScript 
  301. |   files. 
  302.  
  303.  
  304. Subject: 1.6 How can I print PostScript on a non-PostScript printer? 
  305.  
  306.     You need a tool that converts to something that your printer knows 
  307.     how to print. Use Freedom of Press, GhostScript, pageview, TScript, 
  308.     or UltraScript PC. Or, use a printer cartridge if your printer 
  309.     manufacturer sells one. 
  310.  
  311.  
  312. Subject: 1.7 How do I print a file containing 8-bit characters? 
  313.  
  314. |   If you only have Transcript you just don't. Transcript uses 
  315. |   "enscript" to convert a "text" file to a PostScript file and 
  316. |   "enscript" is not able to deal with 8-bit characters. 
  317. |
  318. |   You have to use one of the many programs that convert text to 
  319. |   PostScript, like a2ps, which not only handles the 8-bit characters 
  320. |   in a very nice way using the standard ISO Latin 1 character 
  321. |   encoding, but it also produces outputs in a series of very well 
  322. |   set, nice an paper saving formats, much nicer than the ones 
  323. |   produced by enscript. 
  324.  
  325.  
  326. Subject: 1.8 What other graphics languages are there? 
  327.  
  328.     HPGL is for pen plotters. PCL is for HP Laser printers (and 
  329.     compatibles). Both are by HP, and PCL5 is supposed to allow 
  330.     inclusion of HPGL commands, preceded by an appropriate escape code, 
  331.     however I have found this to give errors and abort even for simple 
  332.     HPGL code that plots fine on a plotter. 
  333.  
  334. Subject: 2 Printers 
  335.  
  336.  
  337. Subject: 2.1 How can I get my printer to talk back to me? 
  338.  
  339.     Experts using a level 2 printer can use the SerialOff.PS and 
  340.     SerialEHandlder.ps programs to communicate bidirectionally to the 
  341.     printer. 
  342.  
  343.     If you just need the error returns from the printer, you can spawn 
  344.     a 
  345.   
  346.   cat < port >> logfile&
  347.   
  348.     in your system startup. Then you will get a log of everything the 
  349.     printer says. This works on any serial-port connected printer. 
  350.  
  351.  
  352. Subject: 2.2 Should I leave my printer on? 
  353.  
  354. |   Most laser printers consume several hundred watts while idle in 
  355. |   order to keep the fuser warm. A few models shut down automatically 
  356. |   after a while, and this feature seems to be the wave of the future. 
  357. |
  358. |   Wear-and-tear due to power cycling is no longer the problem it once 
  359. |   was. The advice in the FAQ would have been appropriate in the 
  360. |   1970s, but no longer. A good modern rule of thumb is to turn off 
  361. |   electronic equipment if it won't be used for a few hours (overnight 
  362. |   or weekends), otherwise to leave it on. 
  363.  
  364.  
  365. Subject: 2.3 How do you print double-sided on a single-sided printer? 
  366.  
  367. |   The biggest problem comes in jamming when you feed the document 
  368. |   through the second time to print the backside. To minimize this 
  369. |   problem, you want to minimize the curl that the paper acquires in 
  370. |   passing through the printer. So, if your printer normally stacks 
  371. |   face down (to make the page order come out right) rearrange it 
  372. |   (often this involves flipping out a plastic paper catcher on the 
  373. |   end) so the pages feed straight through and stack face up. Then 
  374. |   acquire and build psutils, and run your document through the 
  375. |   following commands: 
  376. |
  377. |0'           <original.ps >odd.ps
  378. |      pstops '2:1U@1(1w,1h)' <original.ps >even.ps
  379. |  
  380. |   This puts the even and odd pages in different files, and rotates 
  381. |   the even pages 180 degrees so the top and bottom are reversed. This 
  382. |   lets you feed the paper back through with the old trailing edge at 
  383. |   the front; since pages get the most severe curl at the leading edge 
  384. |   this also helps reduce jamming. Print odd.ps, flip the output pile 
  385. |   face down and backwards, put it back in the input magazine, and 
  386. |   print even.ps. 
  387. |
  388. |   If the printer is fed by a shared print queue, you can leave the 
  389. |   paper magazine out after you put the first pass pages into it, 
  390. |   before you submit the second half, then make sure your job is at 
  391. |   the front of the queue (waiting for you to replace the paper tray) 
  392. |   before you reinsert the tray. 
  393. |
  394. |   Alternatively, particularly with serially-interfaced printers, 
  395. |   there's a long enough delay to pull the paper tray out between two 
  396. |   print jobs, so you can submit them both, then pull the tray out as 
  397. |   soon as the last page of the first job finishes. The ``pstops'' 
  398. |   invocations report how many pages they emit, so you can count pages 
  399. |   to determine when the first one is done.
  400.  
  401.  
  402. Subject: 2.4 How do I suppress the power-on start page? 
  403.  
  404.     Disabling the start page is described in your printer's PostScript 
  405.     supplement. The most common sequence is ``serverdict begin 0 
  406.     exitserver statusdict begin false setdostartpage end''. 
  407.  
  408.  
  409. Subject: 2.5 How do I make a downloaded font ``persistent''? 
  410.   
  411.   %!PS-Adobe-2.0 ExitServer
  412.   %%BeginExitServer: 0
  413.   serverdict begin 0 exitserver
  414.   %%EndExitServer
  415.   % Test for existence of font, abort if present.
  416.   % This won't work on a printer with a hard disk!
  417.   /str 32 string def
  418.   /Eurostile dup FontDirectory exch known
  419.   { str cvs print ( is already loaded!\n) print flush quit }
  420.   { (loading font ) print str cvs print (\n) print flush }
  421.   ifelse
  422.   %% Font follows...
  423.   
  424.     The part following ``%%EndExitServer'' is optional. If you use 
  425.     it, change Eurostile to the name of the font. The default PFA 
  426.     behavior is to use up additional VM for the new copy if another 
  427.     copy has already been downloaded. 
  428.  
  429.  
  430. Subject: 2.6 How do I remove a persistent (``permanent'') downloaded font? 
  431.  
  432.     In PostScript Level 2, you can use the undefinefont operator to 
  433.     remove fonts selectively. 
  434.  
  435.     The only reliable method in PostScript Level 1 is to restart the 
  436.     printer, for example with: 
  437.  
  438.   
  439.     serverdict begin 0 exitserver
  440.     systemdict /quit get exec
  441.   
  442.     Of course, the real solution is just to not download persistent 
  443.     fonts unless you really want them to persist indefinitely. If you 
  444.     want them only for one job, download them as part of the job. 
  445.  
  446.  
  447. Subject: 2.7 How do I reset the printer without power-cycling? 
  448.  
  449.     Most printers can be reset by issuing ``serverdict begin 0 
  450.     exitserver systemdict /quit get exec''. 
  451.  
  452.  
  453. Subject: 2.8 About saving files 
  454.  
  455.     Adobe recommends that driver writers do not put EOT (control-D) 
  456.     into files when saving to disk. Normally, the EOT is a part of the 
  457.     protocol for parallel and serial ports and never hits the 
  458.     PostScript interpreter. 
  459.  
  460.     Drivers that do embed EOD can create problems for devices that 
  461.     allow other communication methods (e.g. AppleTalk, Ethernet, and 
  462.     SCSI) where the EOT is not part of the communications protocol. It 
  463.     is useful to redefine EOT in these instances so that the 
  464.     interpreter does not generate an error. The recommended 
  465.     redefinition is: 
  466.  
  467.   
  468.                    (\004) cvn {} def
  469.   
  470.     This should convert any stand-alone embedded EOTs into a null 
  471.     procedure. 
  472.  
  473.  
  474. Subject: 2.9 What's the control-D business? 
  475.  
  476.     PostScript printers communicating over serial lines use control-D 
  477.     as an end of job indicator. The host computer should then wait for 
  478.     the printer to send a control-D back to indicate that the job has 
  479.     finished. Managing the serial protocol between host and printer 
  480.     should be done by some form of print service, but if you're unsure 
  481.     whether your print service is doing it, it's an idea to send one 
  482.     yourself. 
  483.  
  484.     PC type computers frequently do not have any kind of printer 
  485.     manager and applications end up sending control-D characters to the 
  486.     printer, sometimes before and after a job. PC applications 
  487.     frequently embed a control-D as the first character in the print 
  488.     file, presumably to flush out any other jobs, and thereby breaking 
  489. |   the Adobe Document Structuring Conventions. There is a way to turn 
  490. |   off generation off the control-D in Windows (anybody know it?). 
  491.  
  492.     If you want to prevent applications from doing this, you could use 
  493.     a spooler which would look at the end of every outgoing file and 
  494.     drop the control-D on the end if there happened to be one. 
  495.  
  496.     If you want a spooler, check out lprps. 
  497.  
  498.  
  499. Subject: 2.10 Why does the printer say ``still busy'' when my document is 
  500.     done printing? 
  501.  
  502.     Sometimes when you finish a print job, the printer ``Ready'' light 
  503.     keeps flashing for a minute or so. Somehow, the printer has 
  504.     received some character(s) after the control-D which was sent 
  505.     immediately after the PostScript file. The most common is that a 
  506.     newline has been inserted after the control-D. The printer took 
  507.     these character(s) to be another program, and eventually timed-out 
  508.     while waiting for the rest of it. This can happen because of the 
  509.     host not waiting for the printer to finish. 
  510.  
  511.  
  512. Subject: 2.11 How should I set up my spoolers? 
  513.  
  514.     Since PostScript usually is prefixed with ``%!'', it's easy to 
  515.     educate your spooler to autoselect between passing raw PostScript 
  516.     through to the printer or doing an ``ASCII-to-PostScript'' 
  517.     conversion first. There are many packages that will do this, 
  518.     including Transcript and psxlate. 
  519.  
  520.     Unfortunately, many PostScript applications generate PostScript 
  521.     without a proper ``%!'' magic cookie. 
  522.  
  523.     The spooler should be responsible for transmitting the ``job 
  524.     termination code'' (a control-D on serially-connected printers) to 
  525.     the printer, not the application. Do yourself a favor and disable 
  526.     (or filter out) control-Ds in your applications and generate them 
  527.     in the spooler. This will be far more reliable in the face of 
  528.     arbitrary input. 
  529.  
  530.  
  531. Subject: 2.12 What are PPD files? 
  532.  
  533.     Adobe Postscript Printer Description (PPD) files describe how to 
  534.     use the special features for a specific Postscript printer. They 
  535.     are suppose to be human-readable, but they are really only readable 
  536.     by PostScript gurus. It is the responsibility of the printer 
  537.     manufacturer to supply PPD files. However, the Adobe mail server 
  538.     has many of them. (see the Section 6, ``About Adobe'') 
  539.  
  540. |   Adobe Technical Document 5003 - PPD Specification describes how to 
  541. |   read and parse PPD files. You can find it on the Adobe mail server, 
  542. |   or by anonymous ftp to 
  543. |   ftp.adobe.com:/pub/adobe/Documents/5003.PPD_Spec.ps. 
  544.  
  545.  
  546. Subject: 2.13 What's a timeout error? 
  547.  
  548. |   The wait timeout is the maximum time the PostScript interpreter 
  549. |   will wait for input before aborting. The timeout interval begins 
  550. |   when the interpreter finishes executing everything it has received 
  551. |   so far and starts waiting for the host to send it more data. If 
  552. |   this timeout expires and no more data arrives, a timeout occurs. 
  553. |
  554. |   In particular, a compute-bound job (or one that goes into an 
  555. |   infinite loop) will not encounter a wait timeout, since it is not 
  556. |   waiting. The long diatribe about the need to "keep sending stuff" 
  557. |   and problems with long compute-bound jobs is totally off the mark. 
  558. |   The data channel may stop due to flow control, and may stay stopped 
  559. |   for long periods if the printer is very busy. This is perfectly OK 
  560. |   and won't cause a timeout. 
  561. |
  562. |   Don't disable the wait timeout. The whole point of the wait timeout 
  563. |   is to prevent the interpreter from being indefinitely tied up by a 
  564. |   host application that has crashed, a communication channel that has 
  565. ected, or whatever. This is particularly important for 
  566. |   networked printers. The only situation in which disabling timeouts 
  567. |   is appropriate is when debugging applications or drivers, since you 
  568. |   don't want the printer timing out while the host is at a breakpoint 
  569. |   or something. 
  570.  
  571. Subject: 3 Formats and Conversions 
  572.  
  573.     This section describes formats that can be converted to and from 
  574.     PostScript, and how to convert them. Encapsulated PostScript and 
  575.     Fonts have their own sections. 
  576.  
  577.  
  578. Subject: 3.1 How can I convert PostScript to some other graphics format? 
  579.  
  580.     Since PostScript is not just a picture-description language, but in 
  581.     fact a complete programming language, you will need a complete 
  582.     PostScript interpreter to convert or display a PostScript graphic. 
  583.     See the comp.sources.postscript FAQ for an index of all PostScript 
  584.     related programs. 
  585.  
  586.     Try using GhostScript. 
  587.  
  588.  
  589. Subject: 3.2 How can I convert HPGL to PostScript? 
  590.  
  591. |   Use hp2ps. 
  592.  
  593.  
  594. Subject: 3.3 How can I convert DVI to PostScript? 
  595.  
  596.     Use dvips. 
  597.  
  598.  
  599. Subject: 3.4 How can I convert HP Laserjet language (PCL) to PostScript? 
  600.  
  601.     Use lj2ps for simple PCL. Alternatively, another lj2ps, from 
  602.     psroff3.0, is a little more complete. 
  603.  
  604.     hp2pbm can convert all of PCL4 (up to and including rasters, 
  605.     downloaded fonts and macros) into PostScript, G3 and any other 
  606.     PBM-supposed format. 
  607.  
  608.  
  609. Subject: 3.5 How can I convert TeX PK format font to PostScript? 
  610.  
  611.     Psroff3.0 contains programs that can convert TeX PK format or HP 
  612.     SFP format fonts into PostScript bitmap fonts along with 
  613.     rearranging encoding, etc. While bitmap bfonts scale poorly, this 
  614.     is sometimes of use in special circumstances. 
  615.  
  616.  
  617. Subject: 3.6 How do I embed PostScript into troff? 
  618.  
  619.     Most troffs can be ``coerced'' into including PostScript figures. 
  620.     The best approach is a configuration that takes EPS PostScript and 
  621.     can automatically scale it, or tell troff how big the picture is. 
  622.     Groff and DWB 3 have this built in. 
  623.  
  624.     psfig is an add-on EPS inclusion handler that can add this 
  625.     capability to other versions of troff, provided that a compatible 
  626.     PostScript driver is used (Psroff 3.0 for ditroff or CAT troff, 
  627.     Transcript for ditroff). See the comp.text FAQ for more detail. 
  628.  
  629.  
  630. Subject: 3.7 How do I embed PostScript into LaTeX or TeX? 
  631.  
  632.     You should use an add-on program for seamless PostScript inclusion. 
  633.  
  634.     Use psfig. 
  635.  
  636.     If your LaTeX is simple, but your PostScript is fancy, try using 
  637.     LameTeX. 
  638.  
  639.     If you need a good compromise, use pstricks. 
  640.  
  641.     See the comp.text.tex FAQ. 
  642.  
  643.  
  644. Subject: 3.8 How can I convert an image to PostScript? 
  645.  
  646.     First determine what format your images are in. PBMPLUS will have 
  647.     converters for most image formats. 
  648.  
  649.     To convert an image to PostScript in X windows, you can display the 
  650.     image on the screen, and grab it with xv, which can save the image 
  651.     in a PostScript file. 
  652.  
  653.     A more general alternative in X windows would be to use the PPM, 
  654.     PGM and PBM utilities in the X11R4 and X11R5 distributions. 
  655.  
  656.  
  657. Subject: 3.9 How can I convert ASCII text to PostScript? 
  658.  
  659.     Unless your printer is smart about raw ASCII, you can't just send 
  660.     the ASCII to a PostScript printer, because the printer will attempt 
  661.     to interpret your ASCII file as PostScript code. You need a program 
  662.     which will wrap some PostScript code around your ASCII file. 
  663.  
  664.     Try any of the following programs: asciiprint.ps, ato2pps, cz, 
  665.     ETSR, i2ps, lpp, lwf, POSTPRN, printer, psf, psfx80, PSR, ps2txt, 
  666.     pstext, swtext, text2ps, TranScript, spike.ps, enscript, nenscript, 
  667.     a2ps, asc2ps, ascii2ps, crossword.ps, double.ps, landscape.ps, 
  668.     numbered.ps, portrait.ps, or wide.ps. 
  669.  
  670.     If you want to make something fancy, why not use a word processor? 
  671.     Most of them can ``include'' ASCII directly from a file and produce 
  672.     PostScript. 
  673.  
  674.  
  675. Subject: 3.10 How can I convert PostScript to ASCII? 
  676.  
  677.     In general, when you say ``I want to convert PostScript to ASCII'' 
  678.     what you really mean is ``I want to convert MacWrite (which makes 
  679.     PostScript output) to ASCII'' or ``I want to convert somebody's TeX 
  680.     document (which I have in PostScript) to ASCII''. 
  681.  
  682.     Unfortunately, programs like these (if they're smart) do a lot of 
  683.     fancy stuff like kerning, which means that where they would 
  684.     normally execute the postscript command for 
  685.  
  686.   
  687.       ``print water fountain''
  688.   
  689.     instead they execute the postscript command for 
  690.  
  691.   
  692.       ``print wat''      (move a little to get the spacing *just* right)
  693.       ``print er''       (move a little to get the spacing *just* right)
  694.       ``print foun''     (move a little to get the spacing *just* right)
  695.       ``print tain''     (move a little to get the spacing *just* right)
  696.   
  697.     So if I write a program to look through a PostScript file for 
  698.     strings, like ps2ascii.pl, It can't tell where the words really 
  699.     end. Here my program would see 4 strings 
  700.  
  701.   
  702.   ``wat'' ``er'' ``foun'' ``tain''
  703.   
  704.     And it doesn't see any difference between the spacing between 
  705.     ``found'' and ``tain'' (not a word break) and the spacing between 
  706.     ``er'' and ``foun'' (a real word break). 
  707.  
  708.     The problem is that PostScript for text formatting is usually 
  709.     produced machine generated by a text formatter. A PostScript 
  710.     generator like dvips might have a special command like ``boop'' 
  711.     that differentiates between a real world break and a fake one. But 
  712.     every text formatter that generates PostScript has their own name 
  713.     for the ``boop'' command. 
  714.  
  715.     So you really want a ``PostScript to ASCII converter for dvips 
  716.     output''. 
  717.  
  718.     The only general solution I can see would be to redefine the show 
  719.     operator to print out the currentpoint for every letter being 
  720.     printed, like gs2asc, and then make up an ASCII page based on this 
  721.     by sticking ASCII characters where they go in a two-dimensional 
  722.     array. That would convert PostScript to ASCII ``formatted''. 
  723.  
  724.     But even that wouldn't solve the problem, because special bitmap 
  725.     fonts and and standard fonts like Symbol don't always print a ``P'' 
  726.     when you say the letter ``P''. Sometimes they print the greek Pi 
  727.     symbol or a chess piece or a ZapfDingBat. 
  728.  
  729.     Use ps2a, ps2ascii, ps2txt, ps2ascii.ps or ps2ascii.pl. 
  730.  
  731.  
  732. Subject: 3.11 How do I convert between PFB, PFA, Mac, PFM, and AFM? 
  733.  
  734.     Write or call Y and Y Software, listed in the fonts section as a 
  735. |   vendor. For NEXTSTEP systems, write or call Trilithon Software, 
  736. |   also listed in the fonts section as a vendor. 
  737.  
  738.  
  739. Subject: 4 Fonts 
  740.  
  741.     This section answers questions about fonts as they pertain to 
  742.     PostScript. See the comp.fonts FAQ for more information about 
  743.     fonts. 
  744.  
  745.  
  746. Subject: 4.1 What are .PFB and .PFA files? 
  747.  
  748.     ``PFB'' stands for Printer Font Binary, and is a STORAGE FORMAT in 
  749.     which Adobe Type 1 font programs are usually distributed for IBM PC 
  750.     and compatibles. Many application programs support fonts in PFB 
  751.     format, and refer to them as ``downloadable''. 
  752.  
  753.     Macintosh uses a radically different binary storage format than PC. 
  754.     See below for some details. 
  755.  
  756.     PFB files usually appear in several sections, each section preceded 
  757.     by a binary header containing the type of the section (ASCII, 
  758.     binary, or end of file) and the length of the section. Because of 
  759.     the presence of the binary section headers, and the possible 
  760.     presence of binary data sections, PFB files cannot in general be 
  761.     sent directly to a PostScript printer. Application programs like 
  762.     dvips which use fonts in PFB format unpack the font into ASCII 
  763.     format before sending it to the printer. If you would like to use a 
  764.     font which is in PFB format, you must unpack the font to make a PFA 
  765.     (Printer Font ASCII) file. Adobe Systems supply a font downloader 
  766.     for PC's which turns the PFB format into PFA format on the fly as 
  767.     it's being downloaded. 
  768.  
  769.     ``PFA'' stands for Printer Font ASCII, which is the unpacked 
  770.     version of a PFB file. In PFB, the data is stored as-is. In a PFA, 
  771.     any binary data present in a former PFB file is stored as ``ascii 
  772.     hex''--meaning each byte of binary data is turned into two ASCII 
  773.     characters representing the hexdecimal value. 
  774.  
  775.     Once you have the PFA file, just send it to the printer ahead of 
  776.     your file, and use the font like any other. There are several 
  777.     programs which can do the conversion from PFB to PFA for you. Try 
  778.     t1utils. 
  779.  
  780. |   Details of the PFB format can be found in Adobe Technical Note # 
  781. |   5040, ``Supporting Downloadable PostScript Fonts''. 
  782.  
  783.  
  784. Subject: 4.2 How does Macintosh Store PostScript Fonts? 
  785.  
  786. |   To start off understanding how Macintosh stores PostScript fonts, 
  787. |   first you need to know that a Macintosh file consists of two 
  788. |   different parts, called ``forks''. The two forks of a Macintosh 
  789. |   file are called the ``resource fork'' and the ``data fork''. 
  790. |
  791. |   The data fork normally contains the data of the file. In the case 
  792. |   of a text editor, for instance, the data fork contains the text. 
  793. |
  794. |   The resource fork contains system (resource) information about the 
  795. |   file: who owns the file, its icon maybe, and other information. The 
  796. |   various bits of information in the resource fork are contained in a 
  797. |   complex structure. One of the items is a resource map, detailing 
  798. |   the different kinds of resources and their positions in the 
  799. |   resource fork. 
  800. |
  801. |   The reason you need to know all this is because PostScript Type 1 
  802. |   fonts are stored in the resource fork of Macintosh files. Why this 
  803. |   was done is a historical mystery now, because the information could 
  804. |   just as easily have been stored in the data fork in a format 
  805. |   similar to PFB, and unpacking fonts would have been a whole lot 
  806. |   easier. 
  807. |
  808. |   PostScript Type 1 fonts are stored in resources with the name 
  809. |   POST''. If you aren't familiar with the layout of resource forks, 
  810. |   study the ``Resource Manager'' chapter of the Inside Macintosh 
  811. |   books. Details of Macintosh PostScript Type 1 storage format can be 
  812. |   found in Adobe Technical Note 5040, ``Supporting Downloadable 
  813. |   PostScript Fonts''. The information in the Adobe Technical Note is 
  814. |   incomplete in the sense that you need to understand the layout of 
  815. |   Macintosh resource forks to make sense of the information. 
  816. |
  817. |   In the majority of cases, you can assume that the POST resources 
  818. |   are stored contiguously in the resource fork. Unfortunately, there 
  819. |   are a few cases where this isn't true, and the resulting PFA file 
  820. |   will be incorrect. 
  821. |
  822. |   POST resources occur in five types. Type 0 are comments. Type 1 are 
  823. |   ASCII data. Type 2 are binary data. Type 3 are end of this font 
  824. |   program. Type 4 means that the remainder of this font appears in 
  825. |   the data fork of the file! Type 5 means end of file. 
  826. |
  827. |   Having talked about PostScript Type 1 fonts being stored in the 
  828. |   resource fork, why is there a case where the font comes out of the 
  829. |   data fork? Some PostScript Type 3 fonts are stored in this manner. 
  830.  
  831.  
  832. Subject: 4.3 How can I convert a PostScript font to TeX's PK format? 
  833.  
  834.     Use ps2pk or try out the GNU font utilities in fontutils. 
  835.  
  836.  
  837. Subject: 4.4 Why are Adobe fonts hidden? 
  838.  
  839.     In PostScript level 1, Adobe's fonts were hidden because they 
  840.     didn't want people pirating copies instead of paying for them. 
  841.     That's why you can't do a pathforall on a charpath. 
  842.  
  843.     PostScript Level Two has removed the restriction, in the words of 
  844.     the new Red Book, ``for most fonts''. There will still be some 
  845.     vendors who will want to restrict access. Japanese font vendors, 
  846.     for example, are concerned about piracy -- given the work that goes 
  847.     into an 8,000-character Kanji font. 
  848.  
  849.  
  850. Subject: 4.5 How do I get bitmap representations of Adobe fonts? 
  851.  
  852.     On the IBM PC, use the Font Foundry program included with the font. 
  853.     If you don't have it, contact Adobe for an upgrade. 
  854.  
  855.  
  856. Subject: 4.6 What are some good ftp sites for fonts? 
  857.  
  858.   
  859.   ftp.cs.umb.edu
  860.   sumex-aim.stanford.edu
  861.   archive.umich.edu
  862.   ftp.cica.indiana.edu    /pub/pc/win3/fonts
  863.   colonsay.dcs.ed.ac.uk   /pub/postscript/fonts
  864.   
  865.   
  866.   For the NeXT platform, fonts are available on the NeXT-FTP-archives,
  867.           sonata.cc.purdue.edu :/pub/next/graphics/fonts
  868.           fiasko.rz-berlin.mpg.de :/pub/next/fonts
  869.   
  870.     For Macintosh, look in sumex-aim.stanford.edu, 
  871.     mac.archive.umich.edu, and ftp.cs.umb.edu (192.12.26.23), in 
  872.     pub/tex/ps-screenfonts.tar.Z. 
  873.  
  874.     Color PostScript samples and many other PostScript programs are 
  875.     available from irisa.irisa.fr. 
  876.  
  877.  
  878. Subject: 4.7 How can I re-encode a font? 
  879.  
  880.     See ddev.ps for an example for code that does this. You can find it 
  881.     by ftp to wilma.cs.brown.edu:pub/postscript/ddev.ps. 
  882.  
  883.  
  884. Subject: 4.8 What's the difference between a Type 1 and a Type 3 font? 
  885.  
  886.     The Type 1 font format is a compact way of describing a font 
  887.     outline using a well-defined language that can be quickly 
  888.     interpreted. The language contains operations to provide the 
  889.     rasterizer with additional information about a character, known as 
  890.     hints. The hints are additional information which describes how to 
  891.     adjust the representation of the character to make it look good 
  892.     when the font size is small compared to the device resolution. The 
  893.     Type 1 font format is defined in the book ``The Adobe Type 1 Font 
  894.     Format'', also known as the black book, for the colors on its 
  895.     cover. 
  896.  
  897.     The Type 1 font format has nothing to do with TrueType, which is 
  898.     another font format defined by Apple. The Type 1 font format has 
  899.     been around quite a while, and is used on a wide variety of 
  900.     platforms to obtain scalable fonts. 
  901.  
  902.     Most clone interpreters will not have Adobe's proprietary rendering 
  903.     technology which interprets font hints to improve the appearance of 
  904.     fonts shown at small sizes on low-resolution devices. The 
  905.     exceptions (PowerPage and UltraScript) have their own hint 
  906.     interpreters. 
  907.  
  908.     The Type 3 font format is a way of packaging up PostScript 
  909.     descriptions of characters into a font, so that the PostScript 
  910.     interpreter can rasterize them. 
  911.  
  912.     It is easier to create a Type 3 font program by hand than to create 
  913.     the corresponding Type 1 font program. Type 3 font programs have 
  914.     access to the entire PostScript language to do their imaging, 
  915.     including the 'image' operator. They can be used for bitmapped 
  916.     fonts, although that is certainly not a requirement. The Type 3 
  917.     font format contains no provisions for 'hinting', and as such Type 
  918.     3 font programs cannot be of as high a quality at low resolutions 
  919.     as the corresponding Type 1 font program. 
  920.  
  921.     Both formats are scalable formats, and both can be run on any 
  922.     PostScript interpreter. However, because of the requirement that a 
  923.     Type 3 font program have a full PostScript interpreter around, Type 
  924.     3 font programs cannot be understood by the Adobe Type Manager. 
  925.     Only Type 1 font programs can. 
  926.  
  927.     Why bother making a font that's just made up of bitmaps? Once a 
  928.     character from a font has been rendered, the bitmap will be saved 
  929.     in a cache, and another instance of the same character at the same 
  930.     size and orientation can be quickly drawn without recalculation. 
  931.  
  932.     Because of Adobe Type Manager's wide availability on a large number 
  933.     of platforms (PC, Mac, and Unix), the Type 1 font format makes an 
  934.     excellent cross-platform scalable font standard. 
  935.  
  936.  
  937. Subject: 4.9 What vendors sell fonts for PostScript printers? 
  938.  
  939.     PostScript font vendors are many and varied. Here is a partial 
  940.     list. 
  941.  
  942.  
  943.  
  944.     Adobe Systems 
  945.       sells a variety of fonts. With the huge number of third-party 
  946.       Type 1 vendors, in recent years Adobe have specialized in 
  947.       creating their own ``Adobe Originals'' -- high-quality fonts, 
  948.       some of which are their renditions of classic faces (Adobe 
  949.       Garamond) and some of their own devising (Stone, Utopia, ...). 
  950.       Adobe Systems, 1585 Charleston Road, Mountain View, CA 94039. 
  951.       (415) 961-4400 
  952.  
  953.  
  954.     AGFA Compugraphic, 
  955. ts 01887. (508) 
  956.       658-5600. 
  957.  
  958.  
  959.     Bear Rock Technologies 
  960.       specializes in bar code fonts. 4140 Mother Lode Drive, Suite 100, 
  961.       Shingle Springs California 95682. 
  962.  
  963.  
  964.     Bitstream, 
  965.       Athenaeum House, Cambridge, MA 02142. (617) 497-6222. 
  966.  
  967.  
  968. |   Callifonts 
  969. |     has a really nice looking set of calligraphy typefaces. P.O. Box 
  970. |     224891, Dallas, TX 75222. (214) 504-8808. 
  971.  
  972.  
  973.     Casady and Greene, 
  974.       22734 Portola Drive, Salinas, CA 93908. (408) 484-9228. 
  975.  
  976.  
  977.     Ecological Linguistics, 
  978.       specializes in non-Roman alphabets. Ecological Linguistics, P. O. 
  979.       Box 15156, Washington D. C. 20003. 
  980.  
  981.  
  982.     Emigre Graphics 
  983.       4475 ``D'' Street / Sacramento CA 95819 (800) 944 9021 ] Over 70 
  984.       faces, all PostScript Type 1 ATM compatible, including the 
  985.       omnipresent Modula and infamous Template Gothic. Almost all faces 
  986.       are ``must haves'' for graphic designers. Call for free catalog. 
  987.  
  988.  
  989. |   The Font Company 
  990. |     12629 North Tatum Boulevard, Suite 210, Phoenix Arizona 85032. 
  991. |     (602) 998-9711. 
  992.  
  993.  
  994.     Image Club, 
  995.       # 5 1902 11th St Southeast, Calgary, Alberta T2G 2G2, Canada. 
  996.       (403) 262-8008. 
  997.  
  998.  
  999. |   Lanston 
  1000. |     specializes in display faces. 
  1001.  
  1002.  
  1003.     Letraset 
  1004.       specializes in fancy kinds of script fonts, Letraset, 40 
  1005.       Eisenhower Drive, Paramus, New Jersey 07652. (201) 845-6100 
  1006.  
  1007.  
  1008.     Linguists Software 
  1009.       specializes in non-Roman alphabets (Farsi, Greek, Hangul, Kanji, 
  1010.       etc.) Linguists Software, P. O. Box 580, Edmonds, Washington 
  1011.       98020-0580. (206) 775-1130. 
  1012.  
  1013.  
  1014.     Monotype, 
  1015.       53 West Jackson Boulevard, Suite 504, Chicago, IL 60604. 
  1016.  
  1017.  
  1018.     Page Studio Graphics, 
  1019.       Chandler, Arizona, specialize in symbols fonts such as Mac icons, 
  1020.       keyboards, and others, Page Studio Graphics, 3175 North Price 
  1021.       Road, # 1050, Chandler, Arizona 85224. (602) 839-2763. 
  1022.  
  1023.  
  1024. |   Software Complement 
  1025. |     specializes in creating logo fonts. 8 Penn Avenue, Metamoras, 
  1026. |     Pennsylvania 18366 USA. 
  1027.  
  1028.  
  1029. |   The Font Company 
  1030.  
  1031.  
  1032. |   TreacyFaces 
  1033.  
  1034.  
  1035. |   Trilithon Software, 
  1036. |     Portola Valley, California can supply fonts from the Adobe Type 
  1037. |     library for NEXTSTEP. If you're working on NEXTSTEP, getting 
  1038. |     fonts in the correct form with ancillary information and 
  1039. |     downloaders and such is important. You can convert Mac fonts to 
  1040. |     NEXTSTEP (PFA) format, but NEXTSTEP demands AFM files as well, 
  1041. |     and many Mac/PC font vendors omit AFM files because Mac/PC apps 
  1042. |     don't use them. For Adobe fonts for NEXTSTEP, save yourself a lot 
  1043. |     of hassle by getting the fonts from Trilithon. 
  1044. |
  1045. |     If you want non-Adobe fonts for NEXTSTEP, Trilithon Software can 
  1046. |     supply font conversion tools to go from Macintosh or PC format to 
  1047. |     NEXTSTEP format. The conversion tools generate AFM files if none 
  1048. |     are supplied with the fonts, and sanity check AFM files for 
  1049. |     correctness when they are supplied. 
  1050. |
  1051. |     Two Ohlone, Portola Valley, California 94028 USA. Telephone: 
  1052. |     (415) 325-0767, FAX: (415) 325-0768. E-Mail: info@trilithon.com. 
  1053.  
  1054.  
  1055.     URW 
  1056.       supplies high-quality fonts at low prices. They are also the 
  1057.       creators of the top of the line font creation and editing 
  1058.       software called Ikarus. URW, 4 Manchester Street, Nashua, New 
  1059.       Hampshire 03060. (603) 882-7445. 
  1060.  
  1061.  
  1062.     Y and Y Software 
  1063.       , 106 Indian Hill, Carlisle Massachusetts 10741 USA. (508) 
  1064.       371-3286. Sells a Font Metric Manipulation Package for DOS with 
  1065.       lots of interesting utilities. 
  1066.  
  1067.     Many more font vendors exist. Look in magazines and other sources. 
  1068.     Check the Usenet newsgroup comp.fonts. Look in U & lc, published by 
  1069.     ITC, for long lists of vendors. 
  1070.  
  1071.  
  1072. Subject: 4.10 What are ATM fonts? 
  1073.  
  1074.     There has been a rash of misunderstanding about the nature of Type 
  1075.     1 fonts and what people call ATM fonts. ATM fonts are Adobe Type 1 
  1076.     fonts. ATM stands for Adobe Type Manager -- a utility to render 
  1077.     smooth characters on Macintosh and PC screens, from font outlines 
  1078.     (Type 1 fonts) instead of using bitmap fonts. In one sense, there's 
  1079.     no such thing as an ``ATM font'' -- ATM interprets Type 1 fonts, so 
  1080.     there's no need to create a new name. A correctly constructed Type 
  1081.     1 font can be interpreted by ATM. 
  1082.  
  1083.  
  1084. Subject: 4.11 What are Multiple Master Fonts? 
  1085.  
  1086.     Multiple Master Fonts are an extension to the Adobe font format. 
  1087.     providing the ability to interpolate smoothly between several 
  1088.     ``design axes'' from a single font. Design axes can include weight, 
  1089.     size, and even some whacko notions like serif to sans serif. 
  1090.     Adobes' first Multiple Master Font was Myriad -- a two-axis font 
  1091.     with WEIGHT (light to black) on one axis, and WIDTH (condensed to 
  1092.     expanded) along the other axis. In the case of Myriad, there are 
  1093.     four ``polar'' designs at the ``corners'' of the design space. The 
  1094.     four designs are light condensed, black condensed, light expanded, 
  1095.     and black expanded. 
  1096.  
  1097.     Given polar designs, you can set up a ``weight vector'' which 
  1098.     interpolates to any point within the design space to produce a 
  1099.     unique font for a specific purpose. So you can get a ``more or less 
  1100.     condensed, somewhat black face''. 
  1101.  
  1102.  
  1103. Subject: 4.12 Do I need a Level Two printer to use Multiple Master Fonts? 
  1104.  
  1105.     No -- Multiple Master Fonts can be used on any PostScript printer. 
  1106.     Multiple Master Fonts need a new PostScript operator known as 
  1107.     makeblendedfont. The current crop of Multiple Master Fonts supply 
  1108.     an emulation of this operator so the printer doesn't need this 
  1109.     operator. 
  1110.  
  1111.     A short tutorial on Multiple Master Fonts and makeblendedfont 
  1112.     appears in PostScript by Example, by Henry McGilton and Mary 
  1113.     Campione, published by Addison-Wesley. 
  1114.  
  1115.  
  1116. Subject: 4.13 What are Type 4 fonts? 
  1117.  
  1118.     Type 4 fonts are actually Type 3 fonts which contains a Type 1 
  1119.     font. They're stored on hard disk in a special way to save space 
  1120.     when they're loaded into printer RAM by findfont. Your interpreter 
  1121.     must have the extra PostScript operator CCrun to handle Type 4 
  1122.     fonts. They are usually used for Kanji (Japanese) characters. 
  1123.  
  1124.  
  1125. Subject: 4.14 What are Type 5 fonts? 
  1126.  
  1127.     Type 5 fonts are actually Type 1 fonts, but stored in printer ROM 
  1128.     in a special compressed format. They're also known as CROM fonts 
  1129.     (for Compressed ROM fonts). The contents of the CharStrings entries 
  1130.     in Type 5 will probably be different from Type 1. 
  1131.  
  1132.  
  1133. Subject: 4.15 Is there an editor for Type 1 Fonts? 
  1134.  
  1135.     Fontographer for the Macintosh and MS-Windows under DOS is 
  1136.     available from Altsys Corporation, 269 West Renner Road, 
  1137.     Richardson, Texas 75080 USA. (214) 680-2060. 
  1138.  
  1139.     Ikarus-M is availble for the Macintosh from URW, Harksheider 
  1140.     Strasse 102, 2000 Hamburg 65, GERMANY. (040) 60 60 50 Or URW 
  1141.     Software and Type, 4 Manchester Street, Nashua, New Hampshire 
  1142.     03060. (800) 229-8791 in USA. (603) 882-7445 otherwise. 
  1143.  
  1144.     Acknowledgments 
  1145.  
  1146.  
  1147.     This FAQ was compiled based heavily on the contributions of and 
  1148.     with the help of Henry McGilton, Dick Dunn, Howard Gayle, Dan 
  1149.     Carrigan, Carl Orthlieb, Ed Garay, Robert Lerche, Bruno Hall, Tom 
  1150.     Epperly, and Chris Lewis. 
  1151.  
  1152.     Also thanks to contributors Paul Balyoz, Karl Berry, Jerry Black, 
  1153.     Charles Cashion, Jim DeLaHunt, Leonard Hamey, Chris Herborth, Steve 
  1154.     Kinzler, Bill Lee, Timo Lehtinen, Carl Lydick, Otto Makela, Bill 
  1155.     Pringle, Tony Valsamidis, and Jamie Zawinski. 
  1156.  
  1157.     Special thanks to Ken Porter, who originally compiled and organized 
  1158.     this FAQ. 
  1159.  
  1160.   
  1161.   
  1162.   Ver  Date     Reason
  1163.   ----------------------------------------------------------------
  1164.   1.00 12-18-90 Creation by Ken Porter
  1165.   1.06  5-29-91 expanded on EPS explanation, general updates
  1166.   2.00 10-25-92 Brought up to date and expanded, by Jon Monsarrat
  1167.   2.1   5-21-93 Revised because of new comp.sources.postscript group.
  1168.   2.2  12-26-93 Finally incorporated all the '93 comments and suggestions.
  1169.   
  1170.   
  1171.     This FAQ is copyright (C) 1994 by Jonathan Monsarrat. Permission is 
  1172.     granted to freely edit and distribute as long as this copyright 
  1173.     notice is included.
  1174.  
  1175.     This document was written with the LaTeX language and formatted by
  1176.     LameTeX, the PostScript hacker's LaTeX. 
  1177.  
  1178.   
  1179. %! Jon Monsarrat   jgm@cs.brown.edu     moderator, comp.sources.postscript %!
  1180. (LcHdBidZi_hdQ6[PaVa1b4c6F"J4b/>$O<)(di_zk{:UFfUg;ABF)(2n>]Eh:u?<)(P"M#R(:$T<)
  1181. ([gXfSZ]f"dZbeZeb^fH;`?dR=ZS7)(K P!U!: H<)(9l9cCf:o?$)(7W4]6`:X;=)(U"W#_%:"R-)
  1182. (A 5"<&Y%K"F"M,M,S)i3e.M5F_PZR9>lP-)(wBxEuEs7x;uBq:q<q>hFh7o:=Nj<)(Z#]#b#:$R-)
  1183. (m+m+k3S!R+d,;"^<)(GFP"RamZf;TAP{X{fd<{C7)(4840N2:6N=)([ Z#^&:!c<)(<%?$C$:#8<)
  1184. (D!J"L#:!B<)/a{def}def/M{exch}a/S{repeat}a/Q{{40 add}if}a 18{{}forall/R M a/x 2
  1185. /y 3/z 5 3{R M mod 1 eq a}S x Q M y Q moveto 57 sub{3{y Q M x Q M 6 2 roll}S
  1186. curveto}S z{fill}{stroke}ifelse}S showpage
  1187.   
  1188.  
  1189.  
  1190.  
  1191.  
  1192. Newsgroups: comp.lang.postscript,comp.answers,news.answers
  1193. Path: bloom-beacon.mit.edu!news.media.mit.edu!uhog.mit.edu!sgiblab!brunix!doorknob.cs.brown.edu!jgm
  1194. From: Jonathan Monsarrat <postscript-request@cs.brown.edu>
  1195. Subject: PostScript monthly FAQ v2.2 12-26-93 [05-06 of 11]
  1196. Content-Type: text
  1197. Message-ID: <JGM.94Apr11234507@chekov.cs.brown.edu>
  1198. Followup-To: poster
  1199. Summary: Useful facts about the PostScript graphics programming language
  1200. Sender: news@cs.brown.edu
  1201. Supersedes: <JGM.93Apr16124153@vegas.cs.brown.edu>
  1202. Reply-To: postscript-request@cs.brown.edu (PostScript FAQ comments address)
  1203. Organization: Brown University Department of Computer Science
  1204. Mime-Version: 1.0
  1205. Date: Tue, 12 Apr 1994 04:45:07 GMT
  1206. Approved: news-answers-request@MIT.Edu
  1207. Expires: Thu, 12 May 1994 00:00:00 GMT
  1208. Lines: 868
  1209. Xref: bloom-beacon.mit.edu comp.lang.postscript:9151 comp.answers:4867 news.answers:17933
  1210.  
  1211. Archive-name: postscript/faq/part5-6
  1212. Last-modified: 1993/12/26
  1213. Version: 2.2
  1214.  
  1215.                               -- PostScript -- 
  1216.  
  1217.                             Answers to Questions 
  1218.  
  1219.                     (the comp.lang.postscript FAQ v2.2) 
  1220.  
  1221.                                Jon Monsarrat 
  1222.  
  1223.                               jgm@cs.brown.edu 
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.                      This FAQ is formatted as a digest. 
  1231.  
  1232.                 Most news readers can skip from one question 
  1233.  
  1234.                      to the next by pressing control-G. 
  1235.  
  1236.  
  1237.     Changes since the last version are marked with a '|' in the table 
  1238.     of contents and in the sections in the text-only format of the FAQ. 
  1239.  
  1240.     Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
  1241.     clone) users can run any of the X-windows and UNIX programs in the 
  1242.     utilities section. See comp.os.linux. Also, there is now 
  1243.     GhostScript for the Macintosh. 
  1244.  
  1245.  
  1246.     The utilities index from the comp.sources.postscript FAQ will be 
  1247.     posted in comp.lang.postscript now too. 
  1248.  
  1249.     Please help fix the FAQ! All comments should be mailed to 
  1250.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is 
  1251.     when it is accompanied by a section of the FAQ that is edited and 
  1252.     mailed to me verbatim as an example. If you would like to 
  1253.     contribute, please read the section ``about the FAQ'' first. Thank 
  1254.     you! 
  1255.  
  1256.     Books and programs are referred to by name only. See the book 
  1257.     sections for book information, and the comp.sources.postscript FAQ 
  1258.     for a full list of all PostScript related programs. I have archived 
  1259.     a number of the small utilities in 
  1260.     wilma.cs.brown.edu:pub/postscript. You can get the 
  1261.     comp.sources.postscript FAQ from 
  1262.     wilma.cs.brown.edu:pub/comp.sources.postscript. 
  1263.  
  1264.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics, 
  1265.     comp.sys.mac.apps, comp.sources.postscript. 
  1266.  
  1267. Subject: 5 Books 
  1268.  
  1269.     There are many good books on PostScript language programming. 
  1270.     Descriptions of all known books are listed below. A listing of 
  1271.     publisher information follows. 
  1272.  
  1273.     The most commonly known books are the ``blue book'', ``big red 
  1274.     book'', and ``green book'' from Adobe, to be read in that order. 
  1275.     They are nicknamed according for their jacket colors. 
  1276.  
  1277.     Other books recommended to me include Thinking in PostScript, 
  1278.     which allows its examples to be freely distributed, and PostScript 
  1279.     by Example. 
  1280.  
  1281.  
  1282. Subject: 5.1 Books 
  1283.  
  1284.   
  1285.    Adobe Illustrator - The Expert Advisor Series
  1286.         Author        Diane Burns, S. Venit, David Smith
  1287.         Publisher     Addison-Wesley, 1989
  1288.         ISBN:         0-201-14397-6  $22.95
  1289.   
  1290.  
  1291.   
  1292.    Adobe illustrator 3 complete.
  1293.         Author        Venit, Sharyn ; et al.
  1294.         Publisher     Reading, MA ; Wokingham : Addison-Wesley, c1991 
  1295.         Description   ix, 412 p. : [4] p. of plates : ill. (some col.) ;
  1296.                       24 cm.
  1297.         ISBN          0-201-57756-9 (pbk.)     $22.45
  1298.         Library #     006.6765
  1299.   
  1300.  
  1301.   
  1302.    Adobe illustrator 3.0 : the official handbook for designers. 3rd. ed. 
  1303.         Author        Bove, Tony ; Fred Davis, Cheryl Rhodes 
  1304.         Publisher     New York : Bantam Books, 1991
  1305.         Description   xvi, 420 [8] p. of plates : ill. ; 24 cm. 
  1306.         ISBN:         0-553-35385-3 (pbk.)    $24.95 ($31.95 Can.)
  1307.         Library #     Z286. .D47 B66 1991
  1308.   
  1309.  
  1310.   
  1311.    The Adobe Illustrator 3.2 : designer's guide 
  1312.    (Sybex Macintosh library series)
  1313.         Author        Holzgang, David A.
  1314.         Publisher     San Francisco : Sybex, c1992
  1315.         Description   xviii, 358 p. : ill. ; 23 cm.
  1316.         ISBN          0-7821-1002-9     $24.95
  1317.         Library #     T385 .H674 1992
  1318.   
  1319.  
  1320.   
  1321.    Adobe type 1 font format.
  1322.    [The Black Book] 
  1323.         Author        Adobe Systems Incorporated.
  1324.         Publisher     Reading, MA : Addison-Wesley, c1990.
  1325.         Description   iii, 103 p. : ill. ; 24 cm.
  1326.         ISBN          0-201-57044-0     $14.95 (18.95 Can.)
  1327.         Library #     QA76.73 P67 A36 1990
  1328.    
  1329.         This is the specification for the Type 1 font format. Type 1 
  1330.         fonts are the standard outline format found in Adobe PostScript 
  1331.         printers, implementations of the Display PostScript system, and 
  1332.         available as download able fonts from the Adobe Type Library. 
  1333.         This document describes the syntax of the Adobe Type 1 font  
  1334.         format, including complete information regarding hints, encoding 
  1335.         of character outlines, and the charstring and eexec encryption 
  1336.         algorithms. 
  1337.   
  1338.  
  1339.   
  1340. |  Apple LaserWriter reference : for the LaserWriter, LaserWriter Plus, 
  1341. |  LaserWriter IINT and IINTX.
  1342. |       Author        Apple Computer 
  1343. |       Publisher     Reading, MA : Addison-Wesley, c1988 
  1344. |       Description   xv, 167 p. ; 24 cm.
  1345. |       ISBN          0-201-19258-6     $19.95 
  1346. |       Library #     TK7887.7 .A66 1988
  1347.   
  1348.  
  1349.   
  1350.    Build your own PostScript laser printer and save a bundle. 2nd ed.
  1351.         Author        LaBadie, Horace W.
  1352.         Publisher     Blue Ridge Summit, PA : TAB Books, 1993
  1353.         Description   xviii, 149 p. : ill. ; 25 cm.
  1354.         ISBN          0-8306-4306-0     $19.60
  1355.         Library #     TK7887.7 .L33 1993
  1356.   
  1357.   
  1358.    Creating special effects on the Macintosh.
  1359.         Author        Holzgang, David A.
  1360.         Publisher     Reading, MA : Addison-Wesley, c1992
  1361.         Description   xx, 471 p. : ill. ; 24 cm.
  1362.                       + one computer disk (3 1/2 in.)
  1363.         ISBN          0-201-57779-8     $28.95 ($37.95 Can.)
  1364.         Library #     Z52.5 M28 H64 1991
  1365.   
  1366.  
  1367.   
  1368.    Design essentials.
  1369.         Author        Cohen, Luanne Seymour ; et al.
  1370.         Publisher     Mountain View, CA : Adobe Press, c1992
  1371.         Description   vii, 102 p. : ill. (some col.) 23 x 31 cm.
  1372.                       + 3-D viewing glasses inserted. 
  1373.                       At head of title: Professional studio techniques.
  1374.         ISBN          0-672-48538-9     $39.95 ($49.95 Can.)
  1375.         Library #     T385 .D473 1992.
  1376.   
  1377.   
  1378.    Design Techniques with Adobe Illustrator
  1379.         Author        Linda Miles, Betty Wilson
  1380.         Publisher     Sams, 1992
  1381.         ISBN          0-672-30205-5      $39.95
  1382.   
  1383.  
  1384.   
  1385.    Display PostScript programming.
  1386.         Author        Holzgang, David A.
  1387.         Publisher     Reading, MA : Addison Wesley, c1990 
  1388.         Description   x, 406 p. : ill. 24 cm.
  1389.         ISBN          0-201-51814-7     $24.95
  1390.         Library #     QA76.73 .P67 H63 1990
  1391.   
  1392.  
  1393.   
  1394.    Encapsulated PostScript : application guide for the
  1395.    Macintosh and PC's.
  1396.         Author        Vollenweider, Peter
  1397.         Publisher     New York ; London : Prentice Hall 1990 
  1398.         Description   xvii, 226 p. : ill. ; 24 cm.
  1399.                       Translated from German
  1400.         ISBN          0-13-275-843-1 (pbk.)     $16.95
  1401.         Library #     QA76.73 .P67 V65 1990
  1402.    
  1403.         The book's focus is EPS. However, it is an excellent book full 
  1404.         of actual real life PostScript and Encapsulated PostScript 
  1405.         applications on Macs, PCs, UNIX, IBM mainframe, and other 
  1406.         computer systems. 
  1407.   
  1408.  
  1409.   
  1410. |  Expert advisor : Adobe Illustrator.
  1411. |  (The Addison-Wesley expert advisor series)
  1412. |       Author        Burns, Diane ; S. Venit, David Smith 
  1413. ey, c1988
  1414. |       Description   ix, 350 p., [4] p. of plates : ill. (some col.) ;
  1415. |                     24 cm. 
  1416. |       ISBN          0-201-14397-6     $22.95 
  1417. |       Library #     T385 .B864 1989
  1418.   
  1419.  
  1420.   
  1421.    Graphic design with PostScript.
  1422.         Author        Kunkel, Gerard 
  1423.         Publisher     Glenview, IL :Scott, Foresman, c1990 
  1424.         Description   
  1425.         ISBN          0-673-38794-1     $29.95
  1426.         Library #     Z286 .D47 K87 1990
  1427.   
  1428.  
  1429.   
  1430.    Halftoning with Adobe Accurate Screens
  1431.         Author        Peter Fink
  1432.         Publisher     Hayden, 1992
  1433.         ISBN          ???    $29.95
  1434.   
  1435.   
  1436.    Hands-on PostScript.
  1437.         Author        Spring, Michael B. ; David S. Dubin 
  1438.         Publisher     Carmel IN, : Hayden Books, c1992 
  1439.         Description   xx, 431 p. ; 24 cm.
  1440.                       + one computer disk (3 1/2 in.)
  1441.         ISBN          0-672-30185-7     $29.95 ($37.95 Can.)
  1442.         Library #     QA76.73 .P67 S67 1992
  1443.    
  1444.         This is an introduction to PostScript for the novice or casual 
  1445.         user. PostScript programming principles are introduced in the 
  1446.         context of useful projects (e.g. greeting cards, letterhead, 
  1447.         multi-page posters). The book includes five PostScript driver 
  1448.         projects in Basic, Pascal, and C. A 3.5" DOS formatted diskette 
  1449.         is included with all the source code. It does not cover 
  1450.         PostScript level 2. 
  1451.   
  1452.  
  1453.   
  1454. |  Illustration techniques with Adobe illustrator for windows.
  1455. |       Author        Miles, Linda ; Betty Wilson
  1456. |       Publisher     Carmel, IN : Hayden, c1992
  1457. |       Description   xxviii, 323 p., [16] p. of plates : ill. 
  1458. |                     (some col.) ; 23 cm.
  1459. |                     + one computer disk (3 1/2 in.)
  1460. |       ISBN          0-672-30205-5     $39.95
  1461. |       Library #     006.6869
  1462.   
  1463.  
  1464.   
  1465.    Inside the Apple LaserWriter 
  1466.         Author        Hart, Roger
  1467.         Publisher     Glenview, IL : Scott, Foresman, c1989 
  1468.         Description   xvii, 293 p. : ill. ; 24 cm.
  1469.         ISBN          0-673-38064-5 
  1470.         Library #     TK7887.7 .H38 1989
  1471.   
  1472.  
  1473.   
  1474.    Inside PostScript.
  1475.         Author        Braswell, Frank Merritt
  1476.         Publisher     Berkeley, CA : Peachpit Press c1989 
  1477.         Description   various pagings ; 23 cm. 
  1478.         ISBN          0-938151-10-X     $37.50
  1479.         Library #     QA76.73 .P67 B73 1989
  1480.         
  1481.         Inside PostScript essentially takes one on a tour of the
  1482.         standardinternal PostScript code in most printers. The author 
  1483.         has worked extensively with an interpreter. (in PostScript 
  1484.         terms, no low-level hardware stuff here like cexec and 
  1485.         internaldict). 
  1486.   
  1487.  
  1488.   
  1489.    Laserwriter Reference
  1490.         Author        Apple Computer
  1491.         Publisher     Addison-Wesley, 1988
  1492.         ISBN          0-201-19258-6   $19.95
  1493.   
  1494.  
  1495.   
  1496.    Learning PostScript : a visual approach. 
  1497.         Author        Smith, Ross
  1498.         Publisher     Berkeley, CA : Peachpit Press, 1990
  1499.         Description   various pagings
  1500.         ISBN          0-938151-12-6     $ 22.95 
  1501.         Library #     QA76.73 .P67 S55 1990
  1502.    
  1503.         Learning PostScript is a tutorial on the PostScript language.
  1504.         It is very appealing, very easy to follow and filled with
  1505.          examples. Each example occupies two pages. A brief explanation 
  1506.         and source code is on the left page, and the resultant print-out
  1507.         is on the facing right page. The book starts off very simply for 
  1508.         beginners, and covers a lot of material at the end for experts.
  1509.         It was written before level 2 PostScript. In the later half of
  1510.         the book, a few examples can executed only if an additional disk
  1511.         is purchased. The code for LPAVA is $ 20 from Smith Consultants,
  1512.         834 Third St., Suite B, Santa Rosa, CA 95404, U.S.A. fax number:
  1513.        415-524-9775 
  1514.   
  1515.  
  1516.   
  1517.    Linotronic imaging handbook : the desktop publisher's
  1518.    guide to high-quality text and images.
  1519.         Author        Cavuoto, James ; Stephen Beale 
  1520.         Publisher     Torrance, CA : Micro Publishing Press, 1990 
  1521.         Description   vi, 217 p. : ill. (some col.) ; 23 cm.
  1522.         ISBN          0-941845-06-0     $27.95
  1523.         Library #     Z253.4 .L56 C387 1990
  1524.   
  1525.  
  1526.   
  1527. |  Mastering Adobe illustrator.
  1528. |       Author        Holzgang, David A.
  1529. |       Publisher     San Francisco : Sybex, c1988
  1530. |       Description   xviii, 330 p. : ill. ; 23 cm.
  1531. |       ISBN          0895884631 (pbk.)
  1532. |       Library #     Z286 .D4 H67 1988
  1533.   
  1534.  
  1535.   
  1536.    Mastering Adobe Illustrator 88.
  1537.         Author        McClelland, Deke ; Craig Danuloff 
  1538.         Publisher     [Boulder, CO] : Publishing Resources Inc. ;
  1539.                       [Homewood, IL] : Dow Jones Irwin, c1989
  1540.         Description   xii, 298, [21] p. : ill ; 24 cm.
  1541.         ISBN          1-55623-157-1 (Dow Jones Irwin)     $24.95
  1542.         Library #     Z286 .D47 M375 1989
  1543.   
  1544.  
  1545.   
  1546.    The official Adobe Photoshop handbook.
  1547.         Author        Biedny, David ; Bert Monroy
  1548.         Publisher     Toronto ; New York : Bantam Books, 1991 
  1549.         Description   xxxviii, 423 p. : ill. (some col.) ; 24 cm.
  1550.         ISBN          0-553-34876-0     $26.95 ($33.95 Can.)
  1551.         Library #     QA76.8 .M3  B52 1991
  1552.   
  1553.  
  1554.   
  1555. |  PostScript by example.
  1556. |       Authors        McGilton, Henry ; Mary Campione 
  1557. |       Publisher      Reading, MA : Addison-Wesley, c1992.
  1558. |       Description    xviii, 620 p. : ill. (some col.) ; 24 cm.
  1559. |       ISBN           0-201-63228-4     $29.95 ($38.95 Can.)
  1560. |       Library #      QA76.73 .P67 M34 1992
  1561. |   
  1562. |       PostScript by example is a tutorial for PostScript people at
  1563. |       all levels. It covers level 2 PostScript. The book starts
  1564. |       at novice level and works through to Level Two composite fonts,
  1565. |       patterns, forms, color, halftones, Display PostScript rectangle
  1566. |       operators and text operators. It contains a chapter on practical
  1567. |       issues of downloading fonts, talking to printers, and error 
  1568. |       handling. 620 pages containing over 500 fragments of PostScript
  1569. |       code and over 750 illustrations. A long-awaited ``upgrade''
  1570. |       to the Blue Book. 
  1571. |       Henry McGilton can be reached by email as henry@trilithon.com. 
  1572. |       Mary Campione can be reached by email as mem@taranis.com. 
  1573. |       A disk containing 13,000 lines of PostScript code from the book 
  1574. |       can be ordered separately for $ 20 from: Trilithon Software, Two 
  1575. |       Ohlone, Portola Valley, CA 94028, U.S.A. 
  1576. |   
  1577. |       Or, send email to info@trilithon.mpk.ca.us. 
  1578.   
  1579.  
  1580.   
  1581.    A postscript cookbook.
  1582.         Author        Thomas; Barry 
  1583.         Publisher     New York : Van Nostrand Reinhold, 1988. 
  1584.         Description   vii, 144 p. : ill. ; 24 cm.
  1585.         ISBN          0-442-23686-7     $9.98
  1586.         Library #     QA76.73 .P67 T48 1988
  1587.   
  1588.  
  1589.   
  1590. |  PostScript screening : Adobe accurate screens.
  1591. |       Author        Fink, Peter
  1592. |       Publisher     Mountain View, CA : Adobe Press, c1992.
  1593. |       Description   xvi, 175 p. : ill. ; 25 cm.
  1594. |       ISBN          0-672-48544-3 (pbk.)
  1595. |       Library #     T385 .F55 1992
  1596. |   
  1597. |       Explains in detail all the issues and specifically covers Adobe 
  1598. |       Accurate Screens -- Adobes' own screening technology. Peter Fink 
  1599. |       is an expert on the subject of halftone screens as they relate
  1600. |       to color issues. 
  1601.   
  1602.  
  1603.   
  1604. |  PostScript, Eine Umfassende Einfuhrung in die Programmierung
  1605. |       Author        Wilfred Soker
  1606. |       Publisher     Vieweg & Sohn Verlag GmbH, Postfach 5829,
  1607. |                     D-6200, Wiesbaden 1, Germany
  1608. |       ISBN          3-528-14711-3
  1609.   
  1610.  
  1611.   
  1612.    PostScript font handbook - a directory of type 1 fonts. Rev. ed.
  1613.         Authors       Grosvenor, Jonathan editor ; Kaye Morrison,
  1614.                       Alexandia Pim 
  1615.         Publisher     Reading, MA : Addison-Wesley, c1992. 
  1616.         Description   x, 425 p. : ill ; 24 cm.
  1617.         ISBN          0-201-56893-4     $24.95 ($31.95 Can.)
  1618.         Library #     Z250.7 .P67 1992
  1619.   
  1620.  
  1621.   
  1622.    PostScript fuer Workstations 
  1623.         Author        Vollenweider, Peter  (rzuvo@rzu.unizh.ch) 
  1624.         Publisher     Reading, MA : Addison-Wesley, 1992. 
  1625.         ISBN          3-89319-459-2 
  1626.    
  1627.     geschrieben. Es beschreibt
  1628.         PostScript fuer Workstations, mit Display PostScript, PostScript 
  1629.         2, und Farben. 
  1630.         This book is written in German. It describes using PostScript on 
  1631.         workstations. It covers Display PostScript, PostScript Level 2, 
  1632.         and colors. 
  1633.   
  1634.   
  1635.    PostScript Language Program Design.
  1636.    [The Green Book]
  1637.         Author        Adobe Systems Incorporated ; Glenn Reid
  1638.         Publisher     Reading , MA : Addison-Wesley, c1988 
  1639.         Description   xii, 224 p. ; 23 cm.
  1640.         ISBN          0-201-14396-8 (pbk.)     $22.95
  1641.         Library #     QA76.73 .P67 R45 1988 
  1642.        
  1643.         PostScript Language Program Design is intended to teach the
  1644.         fundamentals of designing PostScript language programs and
  1645.         to show how the language works, so the your programs will be
  1646.         fast, well-behaved, easy to understand, and portable. 
  1647.         Code Examples: $ 15 from the developer support hotline. Free
  1648.         from the Adobe mail server (see Section 6, ``About Adobe''). 
  1649.   
  1650.   
  1651.    PostScript Language Reference Manual. 1st ed. 
  1652.    [The Old Red Book] 
  1653.         Author        Adobe Systems Inc. 
  1654.         Publisher     Reading, MA : Addison-Wesley, 1985. 
  1655.         Description   ix, 299 p. : ill. ; 24 cm.
  1656.         ISBN          0-201-10174-2 
  1657.         Library #     QA76.73 .P67 P67 1986
  1658.    
  1659.         The first edition of the reference manual. It describes 
  1660.         PostScript level 1 only. It is a subset of the PostScript level 
  1661.         2 book, but is still more common and costs less. 
  1662.   
  1663.   
  1664.    PostScript language reference manual. 2nd ed.
  1665.    [The Big Red Book] 
  1666.         Author        Adobe Systems Incorporated ; [authors, Ed Taft,
  1667.                       Jeff Walden ; editing, Jeff Walden, Paul Engstrom
  1668.                       ; illustration Carl Yoshihara, Wendy Ball,
  1669.                       Dayna Portfield]
  1670.         Publisher     Reading, MA : Addison-Wesley, c1990 
  1671.         Description   viii 764 p. : ill. 24 cm.
  1672.         ISBN          0-201-18127-4     $28.95 ($37.95 Can.)
  1673.         Library       QA76.73 .P67 P67 1990 
  1674.    
  1675.         PostScript language reference manual is the book that defines
  1676.         the PostScript language. The second edition not only defines 
  1677.         Level 1 PostScript, but also encompasses the color, composite
  1678.         font, file system, and DPS extensions and the PostScript 
  1679.         language Level 2. 
  1680.   
  1681.   
  1682.    PostScript language tutorial and cookbook.
  1683.    [The Blue book]
  1684.         Author        Adobe Systems Incorporated 
  1685.         Publisher     Reading, MA : Addison Wesley, 1985
  1686.         Description   x, 243 p. : ill. ; 24 cm.
  1687.         ISBN          0-201-10179-3 (pbk.)      $16.95
  1688.         Library #     QA76.73 .P67 P68 1985 
  1689.    
  1690.         PostScript language tutorial and cookbook is the most common
  1691.         tutorial book on PostScript. It provides an easy, informal
  1692.         introduction to the PostScript language and graphics primitives.
  1693.         The cookbook is a collection of programs that are offered as 
  1694.         examples of PostScript usage. These samples have been chosen 
  1695.         both as illustrations of the functional range of PostScript
  1696.         and as useful ingredients for inclusion in application packages. 
  1697.         Code Examples: $ 15 from the developer support hotline. Free 
  1698.         from the Adobe mail server (see Section 6, ``About Adobe''). 
  1699.   
  1700.   
  1701.    PostScript programmer's reference guide : featuring PhoenixPage.
  1702.         Author        Holzgang, David A.
  1703.         Publisher     Glenview, IL : Scott, Foresman, c1989
  1704.         Description   x, 486 p. : ill. ; 23 cm.
  1705.         ISBN          0-673-38574-4     $24.95 
  1706.         Library #     QA76.73 .P67 H64 1989
  1707.    
  1708.         An authoritative guide for programmers, developers, or 
  1709.         anyone who wants to get the most out of PostScript. It offers 
  1710.         clear instructions, a complete language reference section, and a 
  1711.         cookbook of hands-on sample routines. (avail for $ 20 extra on 
  1712.         disk) ... It includes complete information on PhoenixPage/PS, 
  1713.         Phoenix Technologies' fully PostScript-compatible language. 
  1714.   
  1715.   
  1716.    Programming the display PostScript system with NeXTSTEP. 
  1717.    [The Purple Book] 
  1718.         Author        Adobe Systems Incorporated ; [author Ken Fromm] 
  1719.         Publisher     Reading, MA : Addison-Wesley, c1992
  1720.         Description   xxvii, 380 p. ill. ; 22 cm.
  1721.         ISBN          0-201-58135-3     $26.95 ($34.95)
  1722.         Library #     QA76.73 .P67 P76 1991
  1723.    
  1724.         Written for the NeXT programming environment; however, much of 
  1725.         the information it contains applies to all Display PostScript 
  1726.         developers. The book explains the language extensions commonly 
  1727.         used within applications, describes many of the key aspects of 
  1728.         the PostScript language imaging model, and provides a framework 
  1729.         for creating Display PostScript language applications. 
  1730.   
  1731.  
  1732.   
  1733.    Programming the Display PostScript System with X.
  1734.         Author: Adobe Systems Inc. 
  1735.         Publisher: Addison-Wesley 
  1736.         Cost: $ 26.95 
  1737.    
  1738.         Written specifically for developers using the X Window System. 
  1739.         It is intended to help X application developers improve quality, 
  1740.         optimize performance, and minimize development cost. Featuring a 
  1741.         Programming Guide with advice on how to write robust, efficient 
  1742.         Display PostScript applications, the book also contains a new 
  1743.         Toolkit manual and the standard Display PostScript reference 
  1744.         manuals. 
  1745.   
  1746.   
  1747.    Programming the LaserWriter 
  1748.    (Macintosh inside out series)
  1749.         Author        Holzgang, David A.
  1750.         Publisher     Reading, MA : Addison-Wesley, c1991 
  1751.         Description   xxv, 439 p. ill. ; 23 cm.
  1752.         ISBN          0-201-57068-8     $24.95
  1753.         Library #     TK7887.7 .H65 1991
  1754.   
  1755.   
  1756.    Rapid reference guide to System 7, the LaserWriter Family, 
  1757.    and Hypercard. (Business One Irwin rapid reference series)
  1758.         Author        Fraase, Michael  
  1759.         Publisher     Homewood, IL : Business One Irwin, c1993
  1760.         Description   xx, 282 p. : ill. ; 22 cm.
  1761.         ISBN          1556239025     $24.95 
  1762.         Library #     QA76.76 .O63 F375 1993
  1763.   
  1764.   
  1765.    Real world PostScript : techniques from PostScript professionals.
  1766.    [The Orange Book]
  1767.         Author        Roth, Stephen F., editor
  1768.         Publisher     Reading, MA : Addison-Wesley, c1988. 
  1769.         Description   xiv, 383 p. [4] p. of plates : ill. (some col.) ; 
  1770.                       24 cm.
  1771.         ISBN          0-201-06663-7 (pbk.)     $22.95 
  1772.         Library #     Z286 .D47 R4 1988 
  1773.    
  1774.         A collection of articles dealing with ``real world'' PostScript 
  1775.         language issues and specific applications such as font creation,
  1776.         color separation, kerning, halftoning, various other topics. 
  1777.         It contains a text formatter written in PostScript, and 
  1778.         concentrates on doing very sophisticated things with fonts and 
  1779.         dictionaries. 
  1780.    
  1781.         Short overview of chapters: 
  1782.    
  1783.         PostScript As A Design Tool; PostScript As A Programming 
  1784.         Language; Writing Device Independent PostScript; Kerning, 
  1785.         Tracking And Letterspacing, Precise Character Bounding Boxes; 
  1786.         Building Fonts; Building Smart Fonts; Font Encoding Vector 
  1787.         Compatibility; Building A PostScript Typeface; PostScript Color 
  1788.         Operations; PostScript Color Separations; A Spread From Graphic 
  1789.         Perspective; A PostScript Four-Color Poster; Graphing And 
  1790.         Typesetting With PostScript; The Evolution Of A Complex 
  1791.         Geometric Logo 
  1792.   
  1793.   
  1794.    Running PostScript from MS-DOS. 1st ed.
  1795.         Author        Glover, Gary
  1796.         Publisher     Blue Ridge Summit, PA : Windcrest, c1989. 
  1797.         Description   ix, 209 p. : ill. ; 28 cm.
  1798.         ISBN          0-8306-2998-X     $21.60
  1799.         Library #     QA76.73 .P67 G56 1989
  1800.    
  1801.         Provides a good and brief introduction to PostScript and has 
  1802.         lots of useful information on printing PostScript from PCs. 
  1803.   
  1804.  
  1805.   
  1806.    Taking advantage of PostScript.
  1807.         Author        Sherman, John F. 
  1808.         Publisher     Dubuque, IA : Wm. C. Brown Publishers, c1992
  1809.    ill. ; 28 cm.
  1810.         ISBN          0-697-14032-6      
  1811.         Library #     QA76.73 .P67 S54 1992
  1812.    
  1813.         Graphically and visually oriented and includes a section 
  1814.         on PostScript Level 2. 
  1815.   
  1816.  
  1817.   
  1818. |  Terminal Buch, PostScript Fonts und Programmiertechnik
  1819. |       Author        Thomas Merz
  1820. |       Publisher     R. Oldenburg Verlag, Munchen, Germany
  1821. |       ISBN          3-486-21674-0
  1822.   
  1823.  
  1824.   
  1825.    Thinking in PostScript.
  1826.         Author        Reid, Glenn C.
  1827.         Publisher     Reading, MA : Addison-Wesley, c1990
  1828.         Description   xiii, 221 p. : ill. ; 24 cm.
  1829.         ISBN          0-201-52372-8     $22.95 ($29.95 Can.)
  1830.         Library #     QA76.73 .P67 R46 1990
  1831.    
  1832.         Guide to developing programming techniques and to learning 
  1833.         how to use the PostScript tool kit. In this book you can find 
  1834.         some useful techniques even if you think of yourself as an 
  1835.         expert PS programmer. It overlaps very little with existing 
  1836.         material. You can find there numerous practical examples in all 
  1837.         areas of PS language programming, including the Display PS 
  1838.         system. In this volume you will also find: (a) never-before-
  1839.         published information on the PS language (b) useful algorithms 
  1840.         for loops, conditionals, and I/O (c) detailed coverage of files, 
  1841.         strings, and dictionaries (d) simple and elegant programming 
  1842.         techniques 
  1843.    
  1844.         The books comes recommended by many. There are also exercises 
  1845.         after each Chapter with the results at the end of the book. You 
  1846.         can really find examples how to define new useful operators or 
  1847.         procedures which you cannot find in the Adobe books. 
  1848.    
  1849.         To get the examples from the book for free, send email to the 
  1850.         author, glenn@rightbrain.com. 
  1851.   
  1852.  
  1853.   
  1854.    Understanding PostScript. 3rd ed.
  1855.         Author        Holzgang, David A. 
  1856.         Publisher     San Francisco : Sybex, c1992 
  1857.         Description   xxxiii, 515 p. : ill. 23 cm.
  1858.                       "For PostScript levels 1 & 2"--Cover p. [1]
  1859.         ISBN          0-7821-1059-2     $29.95
  1860.         Library #     QA76.73 .P67 H65 1992
  1861.   
  1862.   
  1863.    Understanding PostScript Programming. 2nd ed.
  1864.         Author        Holzgang, David A.
  1865.         Publisher     San Francisco : Sybex, 1988
  1866.         Description   xxxii, 472 p. : ill. ; 23 cm.
  1867.         ISBN          0-89588-566-2 
  1868.         Library #     QA76.73 .P67 H65 1988
  1869.   
  1870.  
  1871.   
  1872.    The Verbum book of PostScript illustration. 1st ed.
  1873.    (The Verbum electronic art & design series.)
  1874.         Author        Gosney, Michael ; Linnea Dayton, Janet Ashford
  1875.         Publisher     Redwood City, CA : M&T Books, 1990 
  1876.         Description   vii, 213 p. : ill. (some col.) ; 28 cm.
  1877.         ISBN          1-55851-089-3     $29.95
  1878.         Library #     QA76.73 .P67 G57 1990
  1879.   
  1880.  
  1881. Subject: 5.2 Publishers 
  1882.  
  1883.     Most of the above books should be available in any big bookstore 
  1884.     that has a computer section. Or contact the publishers: 
  1885.  
  1886.  
  1887.  
  1888.     Addison-Wesley, 
  1889.       Retail Sales Group, Addison-Wesley Publishing Company, Inc., One 
  1890.       Jacob Way, Reading, MA 01867, U.S.A. Phone 800-447-2226 or 
  1891.       617-944-3700, Fax 617-942-1117. 
  1892.  
  1893.  
  1894.     Addison-Wesley Publishing Company, 
  1895.       2200 Powell Street, Emeryville, California 94608 U.S.A. Phone 
  1896.       (510) 601-4000 
  1897.  
  1898.  
  1899.     Adobe Press 
  1900.       , Adobe Systems, Inc. 1585 Charleston Road, Mountain View, CA 
  1901.       94039, Phone 415-961-4400. Toll free 800-833-6687. Adobe Press is 
  1902.       partially a misnomer, it is not a independent publishing unit but 
  1903.       more like a customer or documentation service of Adobe Systems, 
  1904.       Inc. The Red, Blue, Green, and Black Books can be purchased from 
  1905.       Adobe Systems by calling toll free, 800-83-FONTS (800-833-6687). 
  1906.  
  1907.  
  1908. |   Busn One Irvin 
  1909. |     , Business 1 Irvin, Division of Richard D. Irvin, Inc. 1818 Ridge 
  1910. |     Road, Homewood IL, 60430. Phone 708-798-6000. Toll free 
  1911. |     800-634-3966. Imprint: Pub. by Dow Jones (Dow Jones Books). 
  1912.  
  1913.  
  1914.     Bantam 
  1915.       , Bantam Books, Inc. Division of Bantam Doubleday Dell. 666 Fifth 
  1916.       Avenue, New York, NY 10103. Phone 212-765-6500. Toll free 
  1917.       800-223-6834. 
  1918.  
  1919.  
  1920.     Dow Jones Irvin 
  1921.       See Busn One Irvin. 
  1922.  
  1923.  
  1924.     Hayden Books, 
  1925.       Imprint of Sams. 
  1926.  
  1927.  
  1928.     M & T Bks, 
  1929.       M & T Books. 501 Galveston Drive, Redwood City, CA 94063-4728. 
  1930.       Phone 415-366-3600. Toll free 800-533-4372 ; 800-356-2002. 
  1931.  
  1932.  
  1933.     Micro Publishing Press 
  1934.       21150 Hawthorne Boulevard, Suite 104, Torrance, California 90503 
  1935.       U.S.A. Phone 213-371-5787. 
  1936.  
  1937.  
  1938.     Peachpit Press, 
  1939.       1085 Keith Ave., Berkeley, CA 94708, U.S.A. Phone 415-527-8555. 
  1940.       Toll free 800-283-9444. 
  1941.  
  1942.  
  1943.     Prentice Hall, 
  1944.       Prentice Hall Press. Division of Simon Schuster, Inc. 15 Columbus 
  1945.       Circle, New York, NY 10023. Phone 201-767-5937. Toll free 
  1946.       800-223-2348. Orders to: 200 Old Tappan Road, Old Tappan, NJ 
  1947.       07675. 
  1948.  
  1949.  
  1950.     Sams, 
  1951.       Division of Macmillan Computer Publishing. 11711 North College 
  1952.       Avenue, Suite 140, Carmel, IN 46032. Phone 317-573-2500. Toll 
  1953.       free 800-257-5755. Orders to Macmillan Computer Publishing, 8219 
  1954.       Northwest Boulevard, Indianapolis, IN 46278. Imprint: Hayden 
  1955.       Books 
  1956.  
  1957.  
  1958.     Scott, Foresman and Company, 
  1959.       Subsidiary of HarperCollins Publishing Co. 1900 East Lake Avenue, 
  1960.       Glenview, IL 60025. Phone 708-729-3000. 
  1961.  
  1962.  
  1963. |   Sybex, Inc. 
  1964. |     2021 Challenger Drive, Alameda, CA 94501. Phone 415-523-8223. 
  1965. |     Toll free 800-227-2346. Imprint: Sybex Computer Books 
  1966.  
  1967.  
  1968.     TAB Books, 
  1969.       Division of McGraw-Hill Inc. P.O. Box 40, Blue Ridge Summit, PA 
  1970.       17294-0850. Phone 717-794-2191. Toll free 800-822-8138 ; 
  1971.       800-233-1128. Imprint: Windcrest Books 
  1972.  
  1973.  
  1974.     Windcrest Books 
  1975.       Imprint of TAB Books. 
  1976.  
  1977.  
  1978.     Van Nostrand Reinhold, 
  1979.       Division of Thomson Publishing Corp. 115 Fifth Avenue, New York, 
  1980.       NY, 10003. Phone 212-254-3232. Toll free 800-926-2664. Orders to: 
  1981.       7625 Empire Dr., Florence, KY 41022. Phone 606-525-6600 
  1982.  
  1983.  
  1984. |   Wm C Brown, 
  1985. |     Brown, William C. Publishing. 2460 Kerper Boulevard, Dubuque, IA 
  1986. |     52001. Phone 319-588-1451. Toll free 800-338-5578. 
  1987.  
  1988.  
  1989. Subject: 6 About Adobe 
  1990.  
  1991.     PostScript was created by Adobe Systems Incorporated, which offers 
  1992.     information and sells programs pertaining to PostScript. 
  1993.  
  1994.     Currently the only large PostScript company that I have information 
  1995.     on is Adobe. I would be happy to include information about others. 
  1996.  
  1997.  
  1998. Subject: 6.1 How do I get in touch with Adobe? 
  1999.  
  2000.   
  2001.   Adobe Systems Incorporated      Main phone: +1-415-961-4400
  2002.   1585 Charleston Road            Main FAX:   +1-415-961-3769
  2003.   P.O. Box 7900
  2004.   Mountain View, CA 94039-7900
  2005.   
  2006.  
  2007.     If you want technical help using Adobe retail products (e.g. ATM, 
  2008.     Adobe Illustrator, Adobe Fonts): Adobe forum on CompuServe, call 
  2009.     1-408-986-6500 (for Macintosh) or 1-408-986-6530 (for Windows, 
  2010.     Unix) Also use this number to report bugs in retail products. Adobe 
  2011.     also has an automated tech support line, which will fax technical 
  2012.     notes and product literature to you, and attempt to answer common 
  2013.     questions via a menu-driven system. That number is 1-800-235-0078. 
  2014.  
  2015.     For sales information on Adobe retail products (prices, catalogues, 
  2016.     etc.), call +1-800-235-0078 (fax-back brochures) or +1-800-833-6687 
  2017.     (applications sales) 
  2018.  
  2019.     The Developer's Hotline is +1-415-961-4111 (Voicemail) (note: 
  2020.     members have priority, but they'll take questions from general 
  2021.     public.) Also use this number for information about the ADA or 
  2022.     Adobe SDK's. 
  2023.  
  2024.     To suggest product enhancements, write or fax to ``Product Manger, 
  2025.     product name' at address above. 
  2026.  
  2027.     In Europe: Adobe Systems BV, Europlaza, Hoogoorddreef 51a, 1101 BE 
  2028.     Amsterdam Z-O, NETHERLANDS. TEL +31-20-65-11-200. FAX 
  2029.     +31-20-65-11-300. 
  2030.  
  2031.     In the eastern United States: Adobe Sys. Inc., 24 New England 
  2032.     Executive Park, Burlington MA 01803. TEL +1-617-273-2120. FAX 
  2033.     +1-617-273-2336. 
  2034.  
  2035.     In Japan: Adobe Systems Japan, Swiss Bank House, 4-1-8 Toranomon, 
  2036.     Minato ku, Tokyo 105 JAPAN. TEL +81-3-3437-8950. FAX 
  2037.     +81-3-3437-8968. 
  2038.  
  2039.  
  2040. or me? 
  2041.  
  2042.     Adobe is just one of many companies producing products for 
  2043.     PostScript, but it does produce a lot of the best. 
  2044.  
  2045.     Adobe offers two resources for software developers. 
  2046.  
  2047.    1. Membership in the Adobe Developers Association (ADA) ( $ 
  2048.       195/year) 
  2049.  
  2050.    2. PostScript Language Software Development Kit (SDK) ( $ 500, $ 250 
  2051.       for ADA) 
  2052.  
  2053.     The Developer's Association is Adobe's way of knowing who has a 
  2054.     serious interest in technical information. Membership includes 
  2055.     monthly technical newsletter, phone technical support, discounts on 
  2056.     software and hardware. Membership is $ 195/year for each 
  2057.     individual. 
  2058.  
  2059.     The PostScript Language Software Development Kits collect all 
  2060.     Adobe's technical literature for a given platform into a single 
  2061.     package. There are four versions, for the Mac, MS-DOS/Windows, 
  2062.     NeXTStep, and X/Windows. Each SDK is $ 500 list, $ 250 for ADA 
  2063.     members. 
  2064.  
  2065.     A selection of free technical documents is available from Adobe's 
  2066.     file server and anonymous ftp archive (ftp.adobe.com). It includes 
  2067.     specs (including the aforementioned EPS specification), some tech 
  2068.     notes, sample programs, a large collection of AFM files and PPD 
  2069.     files. For more information on the file server, send the one-word 
  2070. |   message ``help'' to ps-file-server@adobe.com. These documents are 
  2071. |   also available by mail, although they are not necessarily free; 
  2072.     call the Developers Line and ask for the documents catalog. 
  2073.  
  2074.     The contents of both ps-file-server and the ftp archive are 
  2075.     nominally the same, although they are currently maintained on two 
  2076.     separate machines. 
  2077.  
  2078.  
  2079.  
  2080. Newsgroups: comp.lang.postscript,comp.answers,news.answers
  2081. Path: bloom-beacon.mit.edu!news.media.mit.edu!uhog.mit.edu!sgiblab!brunix!doorknob.cs.brown.edu!jgm
  2082. From: Jonathan Monsarrat <postscript-request@cs.brown.edu>
  2083. Subject: PostScript monthly FAQ v2.2 12-26-93 [07-10 of 11]
  2084. Content-Type: text
  2085. Message-ID: <JGM.94Apr11234603@chekov.cs.brown.edu>
  2086. Followup-To: poster
  2087. Summary: Useful facts about the PostScript graphics programming language
  2088. Sender: news@cs.brown.edu
  2089. Supersedes: <JGM.93Apr16124153@vegas.cs.brown.edu>
  2090. Reply-To: postscript-request@cs.brown.edu (PostScript FAQ comments address)
  2091. Organization: Brown University Department of Computer Science
  2092. Mime-Version: 1.0
  2093. Date: Tue, 12 Apr 1994 04:46:03 GMT
  2094. Approved: news-answers-request@MIT.Edu
  2095. Expires: Thu, 12 May 1994 00:00:00 GMT
  2096. Lines: 858
  2097. Xref: bloom-beacon.mit.edu comp.lang.postscript:9152 comp.answers:4868 news.answers:17934
  2098.  
  2099. Archive-name: postscript/faq/part7-10
  2100. Last-modified: 1993/12/26
  2101. Version: 2.2
  2102.  
  2103.                               -- PostScript -- 
  2104.  
  2105.                             Answers to Questions 
  2106.  
  2107.                     (the comp.lang.postscript FAQ v2.2) 
  2108.  
  2109.                                Jon Monsarrat 
  2110.  
  2111.                               jgm@cs.brown.edu 
  2112.  
  2113.  
  2114.  
  2115.  
  2116.  
  2117.  
  2118.                      This FAQ is formatted as a digest. 
  2119.  
  2120.                 Most news readers can skip from one question 
  2121.  
  2122.                      to the next by pressing control-G. 
  2123.  
  2124.  
  2125.     Changes since the last version are marked with a '|' in the table 
  2126.     of contents and in the sections in the text-only format of the FAQ. 
  2127.  
  2128.     Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
  2129.     clone) users can run any of the X-windows and UNIX programs in the 
  2130.     utilities section. See comp.os.linux. Also, there is now 
  2131.     GhostScript for the Macintosh. 
  2132.  
  2133.     Many thanks to Dan Carrigan for reformatting the books and 
  2134.     publishers section. 
  2135.  
  2136.     The utilities index from the comp.sources.postscript FAQ will be 
  2137.     posted in comp.lang.postscript now too. 
  2138.  
  2139.     Please help fix the FAQ! All comments should be mailed to 
  2140.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is 
  2141.     when it is accompanied by a section of the FAQ that is edited and 
  2142.     mailed to me verbatim as an example. If you would like to 
  2143.     contribute, please read the section ``about the FAQ'' first. Thank 
  2144.     you! 
  2145.  
  2146.     Books and programs are referred to by name only. See the book 
  2147.     sections for book information, and the comp.sources.postscript FAQ 
  2148.     for a full list of all PostScript related programs. I have archived 
  2149.     a number of the small utilities in 
  2150.     wilma.cs.brown.edu:pub/postscript. You can get the 
  2151.     comp.sources.postscript FAQ from 
  2152.     wilma.cs.brown.edu:pub/comp.sources.postscript. 
  2153.  
  2154.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics, 
  2155.     comp.sys.mac.apps, comp.sources.postscript. 
  2156.  
  2157. Subject: 7 Programming in PostScript 
  2158.  
  2159.  
  2160. Subject: 7.1 What is PostScript level 2? 
  2161.  
  2162.     (See the Section 11, ``About PostScript 2''.) 
  2163.  
  2164.  
  2165. Subject: 7.2 Should I learn level 2 PostScript? 
  2166.  
  2167.     Yes, because Level Two will soon become the standard. Application 
  2168.     developers using PostScript need to become aware of the new 
  2169.     capabilities and how to take advantage of them. 
  2170.  
  2171.     There are many good books on PostScript 2. (See Section 5, 
  2172.     ``Books''.) 
  2173.  
  2174.  
  2175. Subject: 7.3 Where can I find examples of PostScript code? 
  2176.  
  2177.     Many other books on PostScript make example PostScript code 
  2178.     available. ``Thinking in PostScript'', by Glenn Reid, is the only 
  2179.     book I know of that allows its examples to be freely distributed. 
  2180.     (See Section 5, ``Books''.) 
  2181.  
  2182.     All the examples in ``the blue book'' are available from the Adobe 
  2183.     file server (See Section 5, ``Books''.) 
  2184.  
  2185.     See the question ``How can I browse through PostScript programs?'' 
  2186.     in the comp.sources.postscript FAQ. 
  2187.  
  2188.  
  2189. Subject: 7.4 What is the physical size of the page? 
  2190.  
  2191. |   This depends on what print medium you are using. Paper comes in a 
  2192. |   number of standard sizes: 
  2193. |
  2194. |  
  2195. |         Paper Size                      Dimension (in points)
  2196. |         ------------------------------  ---------------------
  2197. |         Comm #10 Envelope               297 x 684
  2198. |         C5 Envelope                     461 x 648
  2199. |         DL Envelope                     312 x 624
  2200. |         Folio                           595 x 935
  2201. |         Executive                       522 x 756
  2202. |         Letter                          612 x 792
  2203. |         Legal                           612 x 1008
  2204. |         Ledger                          1224 x 792
  2205. |         Tabloid                         792 x 1224
  2206. |         A0                              2384 x 3370
  2207. |         A1                              1684 x 2384
  2208. |         A2                              1191 x 1684
  2209. |         A3                              842 x 1191
  2210. |         A4                              595 x 842
  2211. |         A5                              420 x 595
  2212. |         A6                              297 x 420
  2213. |         A7                              210 x 297
  2214. |         A8                              148 x 210
  2215. |         A9                              105 x 148
  2216. |         B0                              2920 x 4127
  2217. |         B1                              2064 x 2920
  2218. |         B2                              1460 x 2064
  2219. |         B3                              1032 x 1460
  2220. |         B4                              729 x 1032
  2221. |         B5                              516 x 729
  2222. |         B6                              363 x 516
  2223. |         B7                              258 x 363
  2224. |         B8                              181 x 258
  2225. |         B9                              127 x 181 
  2226. |         B10                             91 x 127
  2227. |  
  2228. |   To determine what print mediums are available, check the PPD file 
  2229. |   for your printer, under the PageSize keyword. 
  2230.  
  2231.  
  2232. Subject: 7.5 What is the Imagable Area of the page 
  2233.  
  2234. |   The initial clipping path gives you the size of the imagable area. 
  2235. |   Use ``clippath pathbbox'' to get these coordinates. If you must 
  2236. |   know the size of the device's imageable area, use the sequence 
  2237. |   ``gsave initclip clippath pathbbox grestore'', but this will 
  2238. |   prevent an enclosing application from using the clippath to achieve 
  2239. |   some special effects (such as multiple pages per page). 
  2240. |
  2241. |   PPD files (see section 2 of the FAQ, printers) contain information 
  2242. |   on what paper sizes, as well as the Imagable Area for each, 
  2243. |   specific to each printer. A Postscript code fragment (called 
  2244. |   ``?ImageableArea'') is described in a PPD file, which determines 
  2245. |   the current Imageable Area for that printer. 
  2246.  
  2247.  
  2248. Subject: 7.6 Why can't I do a pathforall after a charpath ? 
  2249.  
  2250.     (See Section 4, ``Fonts'', question ``Why are Adobe fonts 
  2251.     hidden?''.) 
  2252.  
  2253.  
  2254. Subject: 7.7 How do I center a string of text around a point? 
  2255.  
  2256.     Level 1 PostScript has two operators that can extract information 
  2257.     about the metrics of characters: ``stringwidth'' and ``charpath''. 
  2258.  
  2259.     The ``stringwidth'' operator returns the advance width of its 
  2260.     string operand. This is the distance the current point would be 
  2261.     moved by a ``show'' operation on the same string. ``stringwidth'' 
  2262.     returns two numbers on the stack, representing the x and y 
  2263.     components of the advance width. Usually the y component is zero 
  2264.     because most fonts are displayed along a horizontal line, moving 
  2265.     the current point only in the x direction. 
  2266.  
  2267.     Also note that the ``stringwidth'' usually does not give an exact 
  2268.     measure of the area of the page that will be touched by its 
  2269.     operand. The letters can either project a little over the 
  2270.     boundaries or fall a little within (leaving a touch of whitespace). 
  2271.  
  2272.     If all that an application requires is horizontal centering of a 
  2273.     long string of text, the result returned by ``stringwidth'' is 
  2274.     sufficient. A common technique is 
  2275.  
  2276.   
  2277.           x y moveto
  2278.           (string) dup stringwidth pop 2 div neg 0 rmoveto show
  2279.   
  2280.     (This code makes the assumption that the y component of advance 
  2281.     width is irrelevant.) 
  2282.  
  2283.     The ``charpath'' operator extracts the graphic shapes of its string 
  2284. state. 
  2285.     These shapes can then be processed by other PostScript operators. 
  2286.     To get the actual size of the area touched by a character a simple 
  2287.     approach is 
  2288.  
  2289.   
  2290.           gsave
  2291.           newpath
  2292.           0 0 moveto
  2293.           (X) false charpath flattenpath pathbbox
  2294.           grestore
  2295.   
  2296.     This code places four numbers on the stack, representing the 
  2297.     coordinates of the lower left and upper right corners of the 
  2298.     bounding box enclosing the character ``X'' rendered with the 
  2299.     current point at (0,0). Leaving the flattenpath out will cause it 
  2300.     to be less accurate, but it will take up less memory and be faster. 
  2301.  
  2302.     There are two things to be careful about when using the code shown 
  2303.     above: 
  2304.  
  2305.  
  2306.  
  2307.    1. There are severe limits on the size of the string operand, 
  2308.       related to the limit on the number of elements in a graphic path. 
  2309.       The PostScript Language Reference Manual recommends taking 
  2310.       ``charpath''s one character at a time. 
  2311.  
  2312.  
  2313.    2. If user space is rotated or skewed with respect to device space, 
  2314.       the result from ``pathbbox'' may be larger than expected; 
  2315.       ``pathbbox'' returns a rectangle oriented along the user space 
  2316.       coordinate axes, which fully encloses a (possibly smaller) 
  2317.       rectangle oriented along the coordinate axes of device space. If 
  2318.       user space is rotated at an integer multiple of 90 degrees these 
  2319.       two rectangles will be the same, otherwise the rectangle in user 
  2320.       space will be larger. 
  2321.  
  2322.     So, to center text vertically one must get the bounding boxes of 
  2323.     all the characters in the string to be displayed, find the minimum 
  2324.     and maximum y coordinate values, and use half the distance between 
  2325.     them to displace the text vertically. This still may not do a very 
  2326.     good job, since this provides centering based on extrema, not on 
  2327.     the optical center of the string (which is more related to a sort 
  2328.     of ``center of mass'' of the text). 
  2329.  
  2330.     If an application does this repeatedly, it would be wise to store 
  2331.     the bounding boxes in an array indexed by character code, since 
  2332.     ``charpath'' is a slow operation. 
  2333.  
  2334.     Font metric information is available outside of a PostScript 
  2335.     printer in font metrics files, available from the font vendor. A 
  2336.     program generating PostScript output can obtain metrics from these 
  2337.     files rather than extracting the metrics in the printer. 
  2338.  
  2339.  
  2340. Subject: 7.8 How can I concatenate two strings together? 
  2341.  
  2342.   
  2343.   %% string1 string2 append string
  2344.   % Function: Concatenates two strings together.
  2345.   /append {
  2346.            2 copy length exch length add  % find the length of the new.
  2347.            string dup     % string1 string2 string string
  2348.            4 2 roll       % string string string1 string2
  2349.            2 index 0 3 index
  2350.            % string string string1 string2 string 0 string1
  2351.            putinterval    % stuff the first string in.
  2352.            % string string string1 string2
  2353.            exch length exch putinterval
  2354.   } bind def
  2355.   
  2356.  
  2357. Subject: 7.9 What do I do when I get stack overflow/underflow? 
  2358.  
  2359.     These errors are among the most common in PostScript. 
  2360.  
  2361.     When I get a stack overflow, that is usually a sign that a routine 
  2362.     is leaving an object on the stack. If this routine gets called 2000 
  2363.     times, it leaves 2000 objects on the stack, which is too many. 
  2364.  
  2365.     When I get a stack underflow, that is a sign that either: (A) one 
  2366.     of the routines in the program doesn't work, and never has or (B) 
  2367.     one of the routines in the program works, but expects to be called 
  2368.     with some arguments left on the stack. 
  2369.  
  2370.     There is no such thing as a PostScript debugger right now. For now, 
  2371.     the best that you can do to debug your program is to put in lots of 
  2372.     print statements. Learn to use the PostScript pstack command, and 
  2373.     use an online interpreter so you don't have to run to the printer 
  2374.     for each debugging cycle. 
  2375.  
  2376.     Use an error handler to learn more about what exactly is happening 
  2377.     when your program crashes. (see the comp.sources.postscript FAQ for 
  2378.     a list of all PostScript related programs.) 
  2379.  
  2380.     If your code has never worked yet (i.e. you are still writing it) 
  2381.     then I find that it helps to put little comments in the margin 
  2382.     about the state of the stack. Like this: 
  2383.  
  2384.   
  2385.          Heart pathbbox             % lowerx lowery upperx uppery
  2386.          exch 4 -1 roll             % lowery uppery upperx lowerx
  2387.   
  2388.   
  2389.     I generally put these comments in originally, and then take them 
  2390.     out when the program works. Maybe this is a bad practice, in case I 
  2391.     ever want to go back and look at the code to modify it!! 
  2392.  
  2393.  
  2394. Subject: 7.10 How can I print in landscape mode? 
  2395.  
  2396.     Landscape (the opposite of portrait) means that the page is turned 
  2397.     on its side. You can redefine showpage in terms of the current 
  2398.     definition of showpage. 
  2399.  
  2400.     Do something like: 
  2401.  
  2402.   
  2403.   /oldshowpage /showpage load def
  2404.   
  2405.   90 rotate llx neg ury neg translate   % for the first page
  2406.   /showpage
  2407.   {
  2408.           oldshowpage
  2409.           90 rotate llx neg ury neg translate
  2410.   } def
  2411.   
  2412.     This won't work if the PostScript file you're editing uses 
  2413.     initgraphics or grestoreall. Also note that the method described 
  2414.     (redefining showpage) does not conform to the document structuring 
  2415.     conventions. The Adobe recommended method involves performing the 
  2416.     transformaton as part of the setup for each page. 
  2417.  
  2418.  
  2419. Subject: 8 Computer-specific PostScript 
  2420.  
  2421.     This section describes PostScript information specific to a 
  2422.     particular type of computer or operating system. 
  2423.  
  2424.  
  2425. Subject: 8.1 Sun Workstations 
  2426.  
  2427.     What is NeWS? 
  2428.  
  2429. |   NeWS (R.I.P.) was Sun Microsystems PostScript-based window system 
  2430. |   for the Sun Workstation. NeWS was a project within Sun (started 
  2431. |   around 1985) to create a window system to supplant SunView (a very 
  2432. |   successful kernel-based window system). NeWS was a client-server 
  2433. |   model window system (like X) but among many of NeWS novel features 
  2434. |   was the use of PostScript as the language to describe the 
  2435. |   appearance of objects on the screen. NeWS had many features in 
  2436. |   common with Display PostScript, but NeWS predates Adobe Display 
  2437. |   PostScript and was neither connected with Adobe Display PostScript 
  2438. |   nor endorsed by Adobe. NeWS was not an Adobe product, nor was it a 
  2439. |   Sun/Adobe joint venture. 
  2440. |
  2441. |   As of October 1992, Sun management signed a deal with Adobe to 
  2442. |   adopt Display PostScript for the Sun. In 1993, Sun finally dropped 
  2443. |   NeWS altogether. The Sun window system is supposed to start 
  2444. |   shipping a Display PostScript environment in late 1993. 
  2445.  
  2446.     And how does PostScript run on them? 
  2447.  
  2448.     PostScript runs on NeWS, although NeWS was not a fully-compliant 
  2449.     PostScript interpreter. There were incompatibilities between the 
  2450.     NeWS PostScript interpreter and ``official'' PostScript 
  2451.     interpreters as defined by Adobe and the Apple LaserWriter family 
  2452.     of printers, such that many PostScript files which would print fine 
  2453.     on a LaserWriter would not render under NeWS. The most critical 
  2454.     incompatibility was lack of support for Adobe Type 1 fonts, Sun 
  2455. |   having gone with their own font format known as F3. F3 fonts have 
  2456. |   now gone the way of the zumbooruk and will be supplanted by Type 1 
  2457. |   fonts. 
  2458.  
  2459.  
  2460. Subject: 8.2 IBM PC 
  2461.  
  2462.     You can find nenscript for OS/2 1.x--2.0 and MSDOS on 
  2463.     ftp-os2.nmsu.edu in pub/uploads/nensc113.zip. 
  2464.  
  2465.     There are rumors that Word Perfect and Microsoft Word don't produce 
  2466.     ``clean'' PostScript that follows the DSC conventions (See Section 
  2467.     9, ``Encapsulated PostScript''). This means that a lot of 
  2468.     PostScript utilities like Ghostview and psnup, etc., that require 
  2469.     the DSC conventions, will not work on them. 
  2470.  
  2471.     Creating a PostScript file from MS Word 
  2472.  
  2473.     Install the LaserWriter driver that comes with Windows.In the 
  2474.     printer setup, select a PostScript printer. Then click on the setup 
  2475.     button to get that pop-up. Then clik the Options button. Then 
  2476.     select the print to Encapsulated PostScript File. If you don't 
  2477.     specify a file name, Word will prompt you for one when you tell it 
  2478.     to print. 
  2479.  
  2480.     When printing Microsoft Windows files that have been captured on a 
  2481.     PC's LPT port, you mostly need to define two ctrl-d's in a row as 
  2482.     well to remove all of them in the document: 
  2483.  
  2484.   
  2485.   (\004\004) cvn {} def
  2486.   
  2487.  
  2488. Subject: 8.3 Apple Macintosh 
  2489.  
  2490.     For more details about printing with the Macintosh, read the 
  2491.     comp.sys.mac.apps FAQ. 
  2492.  
  2493.     How can I convert a PostScript file created with a UNIX program to 
  2494.     the Mac? 
  2495.  
  2496.     A way that is clumsy, but works, is this: 
  2497.  
  2498.  
  2499.  
  2500.    1. Display the UNIX-based PostScript file on screen 
  2501.  
  2502.  
  2503.    2. Use window dumping facility to get a bitmap file 
  2504.  
  2505.  
  2506.    3. Convert the above bitmap file to TIFF format and then export it 
  2507.       to Adobe Illustrator on the Mac. 
  2508.  
  2509.     The PostScript section of the FAQ for the Macintosh newsgroup 
  2510.     comp.sys.mac.apps (maintained by Elliotte Harold) answers the 
  2511.     following questions: 
  2512.  
  2513.  
  2514.  
  2515.     * How do I make a PostScript file? 
  2516.  
  2517.  
  2518.     * How do I print a PostScript file? 
  2519.  
  2520.  
  2521.     * Why won't my PostScript file print on my mainframe's printer? 
  2522.  
  2523.       Full documentation of this process provided with a utility called 
  2524.       macps. 
  2525.  
  2526.  
  2527.     * Why are my PostScript files so big? 
  2528.  
  2529.  
  2530. Subject: 9 Encapsulated PostScript 
  2531.  
  2532.  
  2533. Subject: 9.1 What is Encapsulated PostScript? 
  2534.  
  2535.     Encapsulated PostScript (EPS) is a standard format for importing 
  2536.     and exporting PostScript language files in all environments. It is 
  2537.     usually a single page PostScript language program that describes an 
  2538.     illustration. The purpose of the EPS file is to be included as an 
  2539.     illustration in other PostScript language page descriptions. The 
  2540.     EPS file can contain any combination of text, graphics, and images. 
  2541.     An EPS file is the same as any other PostScript language page 
  2542.     description, with some restrictions. 
  2543.  
  2544.     EPS files can optionally contain a bitmapped image preview, so that 
  2545.     systems that can't render PostScript directly can at least display 
  2546.     a crude representation of what the graphic will look like. There 
  2547.     are three preview formats: Mac (PICT), IBM (tiff), and a platform 
  2548.     independent preview called EPSI. 
  2549.  
  2550.     An EPS file must be a conforming file, that is, it must conform to 
  2551.     the Adobe Document Structuring Conventions (DSC). At a minimum, it 
  2552.     must include a header comment,%!PS-Adobe-3.0 EPSF-3.0, and a 
  2553.     bounding box comment,%%BoundingBox: llx lly urx ury, that 
  2554.     describes the bounds of the illustration. 
  2555.  
  2556.     (The specification does not require the EPSF version, but many 
  2557.     programs will reject a file that does not have it.) 
  2558.  
  2559.     The EPS program must not use operators that initialize or 
  2560.     permanently change the state of the machine in a manner that cannot 
  2561.     be undone by the enclosing application's use of save and restore 
  2562.     (eg. the operators starting with ``init'' like initgraphics). As a 
  2563.     special case, the EPS program may use the showpage operator. The 
  2564.     importing application is responsible for disabling the normal 
  2565.     effects of showpage. 
  2566.  
  2567.     The EPS program should make no environment-sensitive decisions (the 
  2568.     importing application may be trying to attain some special effect, 
  2569.     and the EPS program shouldn't screw this up), although it can use 
  2570.     some device-dependent tricks to improve appearance such as a 
  2571.     snap-to-pixel algorithm. 
  2572.  
  2573.     The complete EPS specification is available from Adobe (see the 
  2574.     section on Adobe). Read Appendix G (Document Structuring 
  2575.     Conventions, V3.0) and Appendix H (Encapsulated PostScript File 
  2576.     Format, V3.0) in the new PostScript red book: PostScript Language 
  2577.     Reference Manual, Second Edition. 
  2578.  
  2579.     An optional component of an EPS file is a ``preview'' image of the 
  2580.     file's content. The preview image is a bitmapped representation of 
  2581.     the image which may be displayed by programs using the EPS file 
  2582.     without having to actually interpret the PostScript code. 
  2583.  
  2584.     The recommended form for a preview image is ``Interchange'' format 
  2585.     and is described fully in the ``red book'', second edition. 
  2586.     Interchange format represents the image as a series of hex strings 
  2587.     placed in the EPS file as PostScript comments. The entire file 
  2588.     remains an ASCII file. 
  2589.  
  2590.     That book contains all of the information that you need to fix your 
  2591.     program to correctly output EPS. It is what I use for our software. 
  2592.  
  2593.     A variation of EPS embeds the preview image and PostScript text in 
  2594.     a binary file which contains a header and the preview image in 
  2595.     either a TIFF or MetaFile format. The header defines where in the 
  2596.     file each section (EPS, TIFF, or MetaFile) starts and ends. On the 
  2597.     Macintosh, the preview is stored as a PICT in the file's resource 
  2598.     fork. 
  2599.  
  2600.  
  2601. Subject: 9.2 What are EPSI and EPSF? 
  2602.  
  2603.     EPSI is EPS with a device independent bitmap preview. EPSI is an 
  2604.     all ASCII (no binary data or headers) version of EPS. EPSI provides 
  2605.     for a hexadecimal encoded preview representation of the image that 
  2606.     will be displayed or printed. 
  2607.  
  2608.     EPSF is a version of EPS with a TIFF preview instead of a bitmap 
  2609.     preview. 
  2610.  
  2611.  
  2612. Subject: 9.3 How do I convert PostScript to EPS? 
  2613.  
  2614.     Use pstoepsi, or do it by hand. 
  2615.  
  2616.     To convert from PostScript to EPS, one must guarantee that the 
  2617.     PostScript file meets the above requirements. If the actual program 
  2618.     conforms to the programming requirements, then one can simply add 
  2619.     the required comments at the top of the file saying that the file 
  2620.     is EPS and giving its BoundingBox dimensions. 
  2621.  
  2622.     Optional comments include font usage (%%DocumentFonts: or%% 
  2623.     DocumentNeededResources: font), EPSI preview comments (%% 
  2624.     Begin(End)Preview:) extensions (%%Extensions:) and language 
  2625.     level (%%LanguageLevel:). 
  2626.  
  2627.     There are some operators that should not be used within an EPS 
  2628.     file: 
  2629.  
  2630.   
  2631.           banddevice     cleardictstack   copypage     erasepage
  2632.           exitserver     framedevice      grestoreall  initclip
  2633.           initgraphics   initmatrix       quit         renderbands
  2634.           setglobal      setpagedevice    setshared    startjob
  2635.   
  2636.     These also include operators from statusdict and userdict operators 
  2637.     like legal, letter, a4, b5, etc. 
  2638.  
  2639.     There are some operators that should be carefully used: 
  2640.   
  2641.           nulldevice     setgstate        sethalftone  setmatrix
  2642.           setscreen      settransfer      undefinefont
  2643.   
  2644.     To convert a PostScript file to EPS format, you must edit the file 
  2645.     using a text editor or word processor to add lines that will define 
  2646.     the file as an EPS-format file. 
  2647.  
  2648.  
  2649.  
  2650.    1. Using your normal method of printing, print the PostScript file 
  2651.       to a PostScript printer. You can choose to view it on the screen 
  2652.       instead, but keep in mind that all the below distance 
  2653.       measurements assume that you are printing on a normal-sized piece 
  2654.       of paper. 
  2655.  
  2656.       NOTE: If the PostScript image does not get displayed properly, it 
  2657.       probably will not work either once you have converted it to EPS 
  2658.       format. Correct the PostScript program so that it works before 
  2659.       you convert it to EPS format. 
  2660.  
  2661.  
  2662.    2. Use a tool (see below) to find the bounding box, which shows how 
  2663.       much space the PostScript image occupies when printed. You 
  2664.       specify the dimensions of the bounding box when you convert the 
  2665.       PostScript file to EPS format. 
  2666.  
  2667.  
  2668.    3. If you don't have a bounding box tool, you can just use a ruler 
  2669.       and draw one on your printout. With two horizontal lines and two 
  2670.       vertical lines, draw a box around the image that includes the 
  2671.       entire image while minimizing white space. 
  2672.  
  2673.       This box represents your bounding box. You may want to leave a 
  2674.       small amount of white space around the image as a precautionary 
  2675.       measure against minor printing problems, such as paper stretching 
  2676.       and paper skewing. 
  2677.  
  2678.  
  2679.    4. Measure distance ``a'' from the lower-left corner of the image to 
  2680.       the left edge of the paper. 
  2681.  
  2682.  
  2683.    5. Write the measurement in points. If your ruler does not show 
  2684.       points, calculate the total number of points: 1 inch = 72 points, 
  2685. . Designate this 
  2686.       measurement as ``measurement a.'' 
  2687.  
  2688.  
  2689.    6. Measure distance ``b'' from the lower-left corner of the image to 
  2690.       the bottom edge of the paper. 
  2691.  
  2692.       Designate this measurement in points as ``measurement b.'' 
  2693.  
  2694.  
  2695.    7. Measure distance ``c'' from the upper-right corner of the image 
  2696.       to the left edge of the paper. 
  2697.  
  2698.       Designate this measurement in points as ``measurement c.'' 
  2699.  
  2700.  
  2701.    8. Measure distance ``d' from the upper-right corner of the image to 
  2702.       the bottom edge of the paper. 
  2703.  
  2704.       Designate this measurement in points as ``measurement d.'' 
  2705.  
  2706.  
  2707.    9. Using any text editor, open the PostScript file for editing. 
  2708.  
  2709.       You'll see several lines of text. These lines are the PostScript 
  2710.       description of the image. The lines at the top of the file are 
  2711.       the header. 
  2712.  
  2713.  
  2714.   10. Add these lines to, or modify existing lines in, the header (the 
  2715.       first group of lines in any PostScript file): 
  2716.  
  2717.     
  2718.             %!Adobe-2.0 EPSF
  2719.             %%Creator: name
  2720.             %%CreationDate: date
  2721.             %%Title: filename
  2722.             %%BoundingBox: a b c d
  2723.     
  2724.  
  2725.       Note: Make sure that the first line in the file is ``% 
  2726.       !Adobe-2.0 EPSF.'' Also, do not separate the header lines with a 
  2727.       blank line space. The first blank line that PostScript encounters 
  2728.       tells it that the the next line begins the body of the program. 
  2729.  
  2730.       For ``name,'' type your name or initials. For ``date,'' type 
  2731.       today's date using any format (for example, MM-DD-YY, MM/DD/YY, 
  2732.       July 5, 1987, and so on). For ``filename,'' type the name of the 
  2733.       PostScript file. After ``BoundingBox: ,'' type the measurements 
  2734.       you took in steps 3, 4, 5, and 6, separating each with a space: 
  2735.       ``a'' is the measurement from Step 3, ``b'' is the measurement 
  2736.       from Step 4, ``c'' is the measurement from Step 5, and ``d'' is 
  2737.       the measurement from Step 6. 
  2738.  
  2739.  
  2740.   11. Save the file in text-only format. 
  2741.  
  2742.     If you are interested in learning how to further edit your 
  2743.     PostScript files, these books are available at most bookstores: 
  2744.  
  2745.     Understanding PostScript Programming and the green book. 
  2746.  
  2747.     The Document Structuring Conventions (DSC), version 1.0, are 
  2748.     discussed in Appendix C of the old red book. The new red book has a 
  2749.     lot of information about Encapsulated PostScript. 
  2750.  
  2751.     There will be a technical note available from Adobe called 
  2752.     ``Guidelines for Specific Operators'' that will talk about why some 
  2753.     operators are prohibited and how to use the others. 
  2754.  
  2755.  
  2756. Subject: 9.4 How do I get the bounding box of a PostScript picture? 
  2757.  
  2758.     Use bbfig or epsinfo.ps. 
  2759.  
  2760.     Or if you would rather construct the bounding box by hand, use 
  2761.     Ghostview, which has a continuous readout of the mouse cursor in 
  2762.     the default user coordinate system. You simply place the mouse in 
  2763.     the corners of the figure and read off the coordinates. 
  2764.  
  2765. Subject: 10 About The Comp.Lang.PostScript FAQ (and Usenet Guide to 
  2766.     PostScript) 
  2767.  
  2768.  
  2769. Subject: 10.1 The PostScript FAQ: What is it? 
  2770.  
  2771.     The PostScript FAQ is a set of answers to frequently asked 
  2772.     questions (FAQs) that have appeared on the Usenet newsgroup 
  2773.     comp.lang.postscript. It is broken into many useful sections. 
  2774.  
  2775.     The Usenet Guide to PostScript is a larger set of help and answers 
  2776.     to PostScript questions, plus a tutorial for new users. It is still 
  2777.     in the process of being created. There is one file ``Exactly What 
  2778.     Does a Transformation Matrix Do?'', that is definitely not part of 
  2779.     the FAQ. Please send more! 
  2780.  
  2781.     I need help writing and revising answers for common questions 
  2782.     relating to PostScript. Almost all of the information in the 
  2783.     documents has been written by kind volunteers. The answers will be 
  2784.     published in either or both documents. A very long answer in the 
  2785.     Usenet Guide may be summarized, referred to briefly, or not 
  2786.     mentioned at all in the FAQ. 
  2787.  
  2788.  
  2789. Subject: 10.2 How to get the FAQ files 
  2790.  
  2791.     The FAQ is available by anonymous ftp to 
  2792.     wilma.cs.brown.edu:pub/comp.lang.postscript/ You can get it 
  2793.     formatted in plain text ASCII, LaTeX, or PostScript. 
  2794.  
  2795.     I would be happy to email a copy of the FAQ in any format to you if 
  2796.     you do not have FTP. 
  2797.  
  2798.  
  2799. Subject: 10.3 How to write a FAQ answer 
  2800.  
  2801.     I greatly appreciate your time and effort to help improve the 
  2802.     quality of the FAQ. Thank you for being willing to contribute! 
  2803.  
  2804.  
  2805.     * Please check to see if the topic is already in an FAQ. Perhaps 
  2806.       you really mean to submit a revision to an existing section. 
  2807.  
  2808.     * Start with a clear statement about what problem you are solving. 
  2809.  
  2810.     * Write for novice users, in ``tutorial format'', even if the 
  2811.       answer is meant for experienced programmers. 
  2812.  
  2813.     * Be specific when you make references. 
  2814.  
  2815.     * Be complete, and take the time to look over your draft and 
  2816.       revise. 
  2817.  
  2818.     * Answers should not be too wordy, unless you intend to write a 
  2819.       long answer for the Usenet Guide and have a shorter summary or a 
  2820.       pointer to the description placed in the FAQ. If you want to 
  2821.       write the summary yourself, thanks! 
  2822.  
  2823.     * Obviously, I cannot accept copyrighted material without 
  2824.       permission. Don't write the FAQ by paraphrasing from a 
  2825.       copyrighted book! 
  2826.  
  2827.  
  2828. Subject: 10.4 The FAQ can contain LaTeX and PostScript inserts 
  2829.  
  2830.     The FAQ is actually written with LaTeX, so feel free to submit with 
  2831.     that text formatting language. There is a PostScript version of the 
  2832.     FAQ also, so feel free to send along PostScript pictures to 
  2833.     include. 
  2834.  
  2835.  
  2836. Subject: 10.5 Revising the FAQ 
  2837.  
  2838.     Suggestions and comments are welcomed. My favorite way of receiving 
  2839.     a change suggestion is if you make a copy of the FAQ, edit the 
  2840.     copy, and mail me the modification, or a context diff (include the 
  2841.     version number). 
  2842.  
  2843.  
  2844. Subject: 10.6 How to submit new information 
  2845.  
  2846.     If you know something that you think is worthwhile to be put in a 
  2847.     FAQ, definitely send it to me! 
  2848.  
  2849.     Don't hold back if your information is very specific. If there's 
  2850.     too much information to post I will archive it at an ftp site and 
  2851.     place a pointer to it in the FAQ. 
  2852.  
  2853.  
  2854. Subject: 10.7 How to add a program description to the FAQ index 
  2855.  
  2856.     If the program is original, please send it to me, or tell me where 
  2857.     I can get it. Please put your name and email address at the top of 
  2858.     each file. Your program will be doubly useful if you clean up the 
  2859.     program so that other people can use it as an example to learn. 
  2860.  
  2861.     If the program was written by someone else, please send me just the 
  2862.     title, description, and where to get it. I may already have it. 
  2863.  
  2864.     For programs the FAQ needs to know: 
  2865.  
  2866.  
  2867.     * What is the name of the program? 
  2868.  
  2869.     * What does it claim to do, and does it do it well? Is it worth 
  2870.       using? 
  2871.  
  2872.     * Where is it available? What ftp sites can I get it from? 
  2873.  
  2874.     * How much does it cost? Is it free? 
  2875.  
  2876.     * What kinds of computers does it run on? 
  2877.  
  2878.     * Who is the author and does the author give an email address? 
  2879.  
  2880.     * Does it handle PostScript 2? 
  2881.  
  2882.     * What packages does it rely on? 
  2883.  
  2884.     If the program is a PostScript interpreter, then the FAQ also needs 
  2885.     to know: 
  2886.  
  2887.  
  2888.     * Does it let you go backwards one page? 
  2889.  
  2890.     * Does it display the number of pages in the document? 
  2891.  
  2892.     * Does it let you print PostScript to a non-PostScript printer? 
  2893.  
  2894.     * What formats can it convert to? 
  2895.  
  2896.  
  2897. Subject: 10.8 How to add a book description to the FAQ 
  2898.  
  2899.     For books the FAQ needs to know: 
  2900.  
  2901.  
  2902.     * What is the name of the book or document? 
  2903.  
  2904.     * What does it claim to do, and does it do it well? Is it worth 
  2905.       using? 
  2906.  
  2907.     * Can I get it on-line? 
  2908.  
  2909.     * Who wrote it? Does the author give an email address? 
  2910.  
  2911.     * Who is the publisher, and what is the copyright date? 
  2912.  
  2913.     * Does the publisher list an address and phone number or fax 
  2914.       number? 
  2915.  
  2916.     * What is the ISBN number of the book? 
  2917.  
  2918.     * What is the library call number of the book? 
  2919.  
  2920.     * How much does the book cost? 
  2921.  
  2922.     * Does it cover PostScript 2? 
  2923.  
  2924. onymous 
  2925.       ftp? 
  2926.  
  2927.     * Do the authors sell the coding examples on a diskette? 
  2928.  
  2929.  
  2930. Subject: 10.9 Questions that need answers 
  2931.  
  2932.  
  2933.  
  2934.    1. Where are ftp sites that have PostScript freeware? 
  2935.  
  2936.  
  2937.    2. What vendors sell fonts for PostScript printers? Where are the 
  2938.       free ftp sites for them? 
  2939.  
  2940.  
  2941.    3. Are there any free encapsulated PostScript converters? 
  2942.  
  2943.  
  2944.    4. What is the charter for comp.lang.postscript? 
  2945.  
  2946.  
  2947.    5. What questions should the FAQ have? 
  2948.  
  2949.  
  2950.    6. What book information is wrong or missing in the FAQ? 
  2951.  
  2952.  
  2953.    7. What program information is wrong or missing in the FAQ? 
  2954.  
  2955.  
  2956.    8. What ftp site have good examples of PostScript code? 
  2957.  
  2958.  
  2959.  
  2960. Newsgroups: comp.lang.postscript,comp.answers,news.answers
  2961. Path: bloom-beacon.mit.edu!news.media.mit.edu!uhog.mit.edu!sgiblab!brunix!doorknob.cs.brown.edu!jgm
  2962. From: Jonathan Monsarrat <postscript-request@cs.brown.edu>
  2963. Subject: PostScript monthly FAQ v2.2 12-26-93 [11 of 11]
  2964. Content-Type: text
  2965. Message-ID: <JGM.94Apr11234632@chekov.cs.brown.edu>
  2966. Followup-To: poster
  2967. Summary: Useful facts about the PostScript graphics programming language
  2968. Sender: news@cs.brown.edu
  2969. Supersedes: <JGM.93Apr16124153@vegas.cs.brown.edu>
  2970. Reply-To: postscript-request@cs.brown.edu (PostScript FAQ comments address)
  2971. Organization: Brown University Department of Computer Science
  2972. Mime-Version: 1.0
  2973. Date: Tue, 12 Apr 1994 04:46:32 GMT
  2974. Approved: news-answers-request@MIT.Edu
  2975. Expires: Thu, 12 May 1994 00:00:00 GMT
  2976. Lines: 613
  2977. Xref: bloom-beacon.mit.edu comp.lang.postscript:9153 comp.answers:4869 news.answers:17935
  2978.  
  2979. Archive-name: postscript/faq/part11
  2980. Last-modified: 1993/12/26
  2981. Version: 2.2
  2982.  
  2983.                               -- PostScript -- 
  2984.  
  2985.                             Answers to Questions 
  2986.  
  2987.                     (the comp.lang.postscript FAQ v2.2) 
  2988.  
  2989.                                Jon Monsarrat 
  2990.  
  2991.                               jgm@cs.brown.edu 
  2992.  
  2993.  
  2994.  
  2995.  
  2996.  
  2997.  
  2998.                      This FAQ is formatted as a digest. 
  2999.  
  3000.                 Most news readers can skip from one question 
  3001.  
  3002.                      to the next by pressing control-G. 
  3003.  
  3004.  
  3005.     Changes since the last version are marked with a '|' in the table 
  3006.     of contents and in the sections in the text-only format of the FAQ. 
  3007.  
  3008.     Now that there is Linux and NetBSD and BSD 386 UNIX IBM PC (and 
  3009.     clone) users can run any of the X-windows and UNIX programs in the 
  3010.     utilities section. See comp.os.linux. Also, there is now 
  3011.     GhostScript for the Macintosh. 
  3012.  
  3013.     Many thanks to Dan Carrigan for reformatting the books and 
  3014.     publishers section. 
  3015.  
  3016.     The utilities index from the comp.sources.postscript FAQ will be 
  3017.     posted in comp.lang.postscript now too. 
  3018.  
  3019.     Please help fix the FAQ! All comments should be mailed to 
  3020.     jgm@cs.brown.edu. My favorite way to receive a change suggestion is 
  3021.     when it is accompanied by a section of the FAQ that is edited and 
  3022.     mailed to me verbatim as an example. If you would like to 
  3023.     contribute, please read the section ``about the FAQ'' first. Thank 
  3024.     you! 
  3025.  
  3026.     Books and programs are referred to by name only. See the book 
  3027.     sections for book information, and the comp.sources.postscript FAQ 
  3028.     for a full list of all PostScript related programs. I have archived 
  3029.     a number of the small utilities in 
  3030.     wilma.cs.brown.edu:pub/postscript. You can get the 
  3031.     comp.sources.postscript FAQ from 
  3032.     wilma.cs.brown.edu:pub/comp.sources.postscript. 
  3033.  
  3034.     Related FAQs: comp.text, comp.text.tex, comp.fonts, comp.graphics, 
  3035.     comp.sys.mac.apps, comp.sources.postscript. 
  3036.  
  3037. Subject: 11 About PostScript 2 
  3038.  
  3039.  
  3040. Subject: 11.1 What printers support Level 2 PostScript? 
  3041.  
  3042.  
  3043.  
  3044.     * Apple LaserWriter IIf 
  3045.  
  3046.  
  3047.     * Apple LaserWriter IIg 
  3048.  
  3049.  
  3050.     * Apple LaserWriter Pro 600 (with ram upgrade to get 600 DPI) 
  3051.  
  3052.  
  3053.     * Apple LaserWriter Pro 630 (True 600 DPI) 
  3054.  
  3055.  
  3056.     * Apple Personal LaserWriter NTR 
  3057.  
  3058.       Apple sells an upgrade to the IINTX to turn it into a IIf/IIG for 
  3059.       instance. 
  3060.  
  3061.  
  3062.     * Compaq PAGEMARQ 20 
  3063.  
  3064.  
  3065.     * Compaq PAGEMARQ 15 
  3066.  
  3067.  
  3068.     * Data Products LZR 960 
  3069.  
  3070.  
  3071.     * Data Products LZR 1560 
  3072.  
  3073.  
  3074.     * DEClaser 1152 
  3075.  
  3076.  
  3077.     * Hewlett-Packard PostScript CartridgePlus, which works with the HP 
  3078.       Laserjet III, IIID, and IIIP. 
  3079.  
  3080.  
  3081.     * Hewlett-Packard LaserJet 4M 
  3082.  
  3083.  
  3084.     * NEC SilentWriter 95 
  3085.  
  3086.  
  3087.     * QMS 1725 Print System 
  3088.  
  3089.  
  3090.     * QMS 860 ``Hammerhead'' 
  3091.  
  3092.  
  3093.     * QMS ColorScript 210 and 230 
  3094.  
  3095.  
  3096.     * Tektronix Phaser III PXi 
  3097.  
  3098.  
  3099.     * Tektronix Phaser II (all models) 
  3100.  
  3101.  
  3102.     * Tektronix Phase 200e 
  3103.  
  3104.  
  3105.     * Texas Instruments microLaser Turbo 
  3106.  
  3107.  
  3108.     * Texas Instruments microLaser XL Turbo 
  3109.  
  3110.     This rest of file contains a description of PostScript 2 written by 
  3111.     Carl Orthlieb from Adobe. The text has not been changed, but some 
  3112.     paragraphs have been deleted for brevity. Comments by me are in 
  3113.     square brackets, and these were not written by Adobe. 
  3114.  
  3115.  
  3116. Subject: 11.2 What is PostScript Level 2? 
  3117.  
  3118.     Since its introduction in 1985, the PostScript language has been 
  3119.     considerably extended for greater programming power, efficiency, 
  3120.     and flexibility. 
  3121.  
  3122.     Typically, these language extensions have been designed to adapt 
  3123.     the PostScript language to new imaging technologies or system 
  3124.     environments. While these extensions have introduced new 
  3125.     functionality and flexibility to the language, the basic imaging 
  3126.     model remains unchanged. 
  3127.  
  3128.     PostScript Level 2 integrates the original PostScript language, all 
  3129.     previous language extensions, and new language features into the 
  3130.     core PostScript language imaging model. 
  3131.  
  3132.  
  3133. Subject: 11.3 [ Color Extensions ] 
  3134.  
  3135.     The color extensions were added to the language in 1988 to provide 
  3136.     more complete color functionality. With the original PostScript 
  3137.     language, color could be specified using the red-green-blue (RGB) 
  3138.     and hue-saturation-brightness (HSB) color models. 
  3139.  
  3140.     The color extensions include cyan-magenta-yellow-black (CMYK) color 
  3141.     model, black generation and undercolor removal functions, screen 
  3142.     and transfer functions for four separate color components, and a 
  3143.     colorimage operator for rendering color sampled images. The color 
  3144.     extensions are currently found in PostScript color printers from 
  3145.     Canon, QMS, Oce, and NEC as well as all implementations of the 
  3146.     Display PostScript system. 
  3147.  
  3148.  
  3149. Subject: 11.4 [ Composite Font Extensions ] 
  3150.  
  3151.     The composite font technology is a general solution that extends 
  3152.     the basic PostScript language font mechanism to enable the encoding 
  3153.     of very large character sets and handle non-horizontal writing 
  3154.     modes. 
  3155.  
  3156.     A Type 1 PostScript font has room for encoding only 256 distinct 
  3157.     characters. A typical Japanese font has over 7,000 Kanji, katakana 
  3158.     and hiragana characters. The composite font technology allows you 
  3159.     to create one ``composite'' font that is made up from any number of 
  3160.     ``base'' fonts. In addition, the composite font technology allows 
  3161.     you to include two sets of metrics (character spacing details) in 
  3162.     the font: one for a horizontal-writing mode, and one for a 
  3163.     vertical-writing mode. 
  3164.  
  3165.  
  3166. Subject: 11.5 [ Display PostScript Extensions ] 
  3167.  
  3168.     The Display PostScript extensions address the needs of using the 
  3169.     PostScript language imaging model in a display environment. It 
  3170.     includes extensions to deal specifically with displays and 
  3171.     windowing systems as well as many optimized operators to increase 
  3172.     performance which is critical in an interactive display environment 
  3173.     [ (and printers) ] . 
  3174.  
  3175.  
  3176. Subject: 11.6 [ Overview of Level 2 Features ] 
  3177.  
  3178.  
  3179. Subject: 11.7 Filters 
  3180.  
  3181.  
  3182.  
  3183.     * A filter transforms data as it is being read from or written to a 
  3184.       file. The language supports filters for ASCII encoding of binary 
  3185.       data, compression and decompression, and embedded subfiles. 
  3186.       Properly used, these filters reduce the storage and transmission 
  3187.       cost of page descriptions, especially ones containing sampled 
  3188.       images. Benefits: Reduced storage requirements, greater 
  3189.       performance. 
  3190.  
  3191.  
  3192.     * ASCII encoding of binary data: ASCII/85 (represent binary data in 
  3193.       ASCII format with only a 125 % expansion of data), and ASCII/HEX 
  3194.       (current method of representing binary data in ASCII format but 
  3195.       with a 200 % expansion of data). Benefits: Compact representation 
  3196.       of binary data in a portable ASCII representation. 
  3197.  
  3198.  
  3199.     * Compression and decompression filters: CCITT Group 3 & 4 
  3200.       (monochrome images), run-length encoding (monochrome and 
  3201.       grayscale images), LZW ( 2:1 compression of text files), DCT 
  3202.       (20-200:1 compression of color images using the proposed JPEG 
  3203.       standard). Benefits: Improved performance due to reduced 
  3204.       transmission times. PostScript files on disk can also be made 
  3205.       much smaller, saving disk space. 
  3206.  
  3207.  
  3208. Subject: 11.8 Binary Encoding 
  3209.  
  3210.  ax 
  3211.     includes two binary-encoded representations. These binary encodings 
  3212.     improve efficiency of generation, representation, and 
  3213.     interpretation. However, they are less portable than the ASCII 
  3214.     encoding and are suitable for use only in controlled environments. 
  3215.     Benefits: performance, compactness. 
  3216.  
  3217.  
  3218. Subject: 11.9 Optimized graphics operators 
  3219.  
  3220.  
  3221.  
  3222.     * Rectangle operators. New operators for filling, clipping and 
  3223.       stroking rectangles; all highly optimized. For example, rectfill 
  3224.       is 3 times faster than an equivalent moveto, lineto, lineto, 
  3225.       lineto, closepath, fill. Benefits: performance and convenience. 
  3226.  
  3227.  
  3228.     * Graphics state objects provide a fast way to switch between 
  3229.       graphics states, which define the current line weight, color, 
  3230.       font, etc. In existing printers, graphics states are stored on a 
  3231.       stack, so accessing an arbitrary graphics state is somewhat 
  3232.       cumbersome. With graphics state objects, the graphics state can 
  3233.       be associated with a name, and retrieved by simply requesting the 
  3234.       name. Benefits: Performance, convenience. 
  3235.  
  3236.  
  3237.     * Halftone specification. New halftone dictionaries provide a more 
  3238.       precise way of specifying the halftone dots, and makes switching 
  3239.       between halftone screens faster. (The spot function is not 
  3240.       reinterpreted.) Benefits: Performance, convenience, enhanced 
  3241.       functionality. 
  3242.  
  3243.  
  3244.     * User paths are self-contained procedures that consists entirely 
  3245.       of path construction operators and their coordinate operands. 
  3246.       User path operators perform path construction and painting as a 
  3247.       single operation; this is both convenient and efficient. There is 
  3248.       a user path cache to optimize interpretation of user paths that 
  3249.       are invoked repeatedly. Benefits: Performance, convenience. 
  3250.  
  3251.  
  3252.     * Stroke adjustment. For very thin lines, there is a trade-off 
  3253.       between perfect positioning and consistent line width. Depending 
  3254.       on the placement of such a line, it could end up being rendered 
  3255.       as either 1 or 2 pixels wide, which is a noticeable difference. 
  3256.       To account for this, PostScript language programs often include 
  3257.       logic to slightly alter the coordinates of lines for consistent 
  3258.       rendering. With automatic stroke adjustment the interpreter 
  3259.       performs this adjustment to ensure consistent widths. Doing it in 
  3260.       the interpreter rather than in the PostScript language program is 
  3261.       20 - 30 % faster. Benefits: Performance, convenience, improved 
  3262.       quality. 
  3263.  
  3264.  
  3265. Subject: 11.10 Optimized text operators 
  3266.  
  3267.  
  3268.  
  3269.     * The xyshow operator provides a more natural way for applications 
  3270.       to deal with individual character positioning. Allows 
  3271.       simultaneous track kerning, pair kerning, and justification. 
  3272.       Benefits: Performance, convenience. 
  3273.  
  3274.  
  3275.     * The selectfont operator optimizes switching between fonts. It 
  3276.       does the work of 3 Level 1 operators: findfont, scalefont, and 
  3277.       setfont and has been optimized by using a caching mechanism. 
  3278.       Benefits: Performance, convenience. 
  3279.  
  3280.  
  3281. Subject: 11.11 Forms 
  3282.  
  3283.  
  3284.  
  3285.     * A form is a self-contained description of any arbitrary graphics, 
  3286.       text, and sampled images that are to be painted multiple times on 
  3287.       each of several pages or several times at different locations on 
  3288.       a single page. 
  3289.  
  3290.  
  3291.     * With the new forms feature, you can define a base form whose 
  3292.       representation stays cached between pages, so only information 
  3293.       that changes between forms will need to be interpreted for each 
  3294.       page. The representation used to cache the form may vary from 
  3295.       device to device depending on the available resources, such as 
  3296.       memory and/or hard disk space. In some cases, the actual 
  3297.       rasterized form will be saved, in other cases, an intermediate 
  3298.       representation (such as a display list) may be saved. Benefits: 
  3299.       End-users will benefit by improved performance. 
  3300.  
  3301.  
  3302.     * This makes forms processing faster and provide a natural 
  3303.       framework for ISVs implementing a forms functionality in their 
  3304.       application. Benefits: Convenience for ISVs. 
  3305.  
  3306.  
  3307.     * Besides the traditional concept of ``forms,'' some other examples 
  3308.       of forms include: Letterhead, stationary, overhead presentation 
  3309.       backgrounds, repetitive symbols in a CAD drawing such as screws 
  3310.       (mechanical drawing) or windows (architectural drawing), complex 
  3311.       background blends in 35mm slides. Benefits: Enhanced 
  3312.       functionality and application of PostScript printers in a variety 
  3313.       of different environments. 
  3314.  
  3315.  
  3316. Subject: 11.12 Patterns 
  3317.  
  3318.  
  3319.  
  3320.     * The new pattern color space provides the ability to establish a 
  3321.       pattern as the current color. Subsequent use of operators such as 
  3322.       fill, stroke, and show apply ``paint'' that is produced by 
  3323.       replicating (or tiling) a small graphical figure called a pattern 
  3324.       cell at fixed intervals in x and y to cover the areas to be 
  3325.       painted. The appearance of a pattern cell is defined by a 
  3326.       PostScript language procedure, which can include any arbitrary 
  3327.       graphics, text, and sampled images. The shape of the pattern cell 
  3328.       need not be rectangular, and the spacing of tiles can differ from 
  3329.       the size of the pattern cell. Benefits: Enhanced functionality, 
  3330.       performance, convenience. 
  3331.  
  3332.  
  3333.     * For efficiency, the representation of the pattern cell may be 
  3334.       cached. When cached, the execution of the procedure that defines 
  3335.       the pattern need be done only once for the current pattern. The 
  3336.       pattern cache is similar to the font cache. Benefits: 
  3337.       Performance. 
  3338.  
  3339.  
  3340.     * Multiple colors can be specified in the pattern or the pattern 
  3341.       can be used as a mask to paint a color defined in some other 
  3342.       color space. Benefits: Enhanced functionality 
  3343.  
  3344.  
  3345.     * For display environments, this feature will allow patterns to be 
  3346.       represented in a resolution independent manner. Until now, 
  3347.       patterns have typically been represented by arrangements of 
  3348.       pixels. This resolution-dependent representation does not work 
  3349.       well when trying to image the pattern at a variety of different 
  3350.       resolutions. 
  3351.  
  3352.  
  3353. Subject: 11.13 Images 
  3354.  
  3355.     There are several enhancements to the facilities for painting 
  3356.     sampled images: use of any color space, 12-bit component values, 
  3357.     direct use of files as data sources, and additional decoding and 
  3358.     rendering options. Benefits: Convenience, performance, quality. 
  3359.  
  3360.  
  3361. Subject: 11.14 Composite Fonts 
  3362.  
  3363.  
  3364.  
  3365.     * Provides the basic machinery for non-Roman character sets. 
  3366.       Enables the encoding of very large character sets and 
  3367.       non-horizontal writing modes. Benefits: Enhanced functionality. 
  3368.  
  3369.  
  3370.     * Provides a page description language for international business. 
  3371.       Composite font technology makes printers more international. The 
  3372.       same font technology can be used worldwide, and will provide 
  3373.       support for companies that must work in today's international 
  3374.       business environment. Benefits: Enhanced functionality. 
  3375.  
  3376.  
  3377.     * Advantages not limited to foreign languages - also useful for 
  3378.       strictly Roman printers: allows the creation of a single 
  3379.       composite font that combines two or more fonts. For example, you 
  3380.       may wish to combine a textual font (such as Times-Roman) with a 
  3381.       graphical font (such as Zapf-Dingbats), and have all characters 
  3382.       at their disposal within a single font. Other uses of composite 
  3383.       fonts: IBM extended character set, and expert sets (such as Adobe 
  3384.       Garamond). Benefits: Enhanced functionality and increased 
  3385.       performance by minimizing switching between fonts. 
  3386.  
  3387.  
  3388. Subject: 11.15 New Color Spaces 
  3389.  
  3390.  
  3391.  
  3392.     * CMYK color model and support for color images. Enhanced 
  3393.       functionality. This will encourage more ISVs to use the color 
  3394.       operators, because the operators will be widely available (The 
  3395.       printer itself may not be able to print in color, but the 
  3396.       PostScript language program won't generate errors when the 
  3397.       operators for CMYK color are used.) 
  3398.  
  3399.  
  3400. s several device-independent color 
  3401.       spaces based on the CIE 1931 (XYZ)-space. CIE-based color 
  3402.       specification enables a page description to specify color in a 
  3403.       way that is related to human visual perception. The goal of the 
  3404.       CIE standard is that a given CIE-based color specification should 
  3405.       produce consistent results on different color output devices, 
  3406.       independent of variations in marking technology, ink colorants, 
  3407.       or screen phosphors. True device-independent color specification. 
  3408.       Improved color matching between devices. 
  3409.  
  3410.  
  3411.     * PostScript Level 2 supports three classes of color spaces: device 
  3412.       independent, special, and device dependent. 
  3413.  
  3414.     The following device independent color spaces are standard: 
  3415.  
  3416.     The CIEBasedABC color space is defined in terms of a two-stage, 
  3417.     non- linear transformation of the CIE 1931 (XYZ)-space. The 
  3418.     formulation of the CIEBasedABC color space models a simple zone 
  3419.     theory of color vision, consisting of a non-linear trichromatic 
  3420.     first stage combined with a non-linear opponent color second stage. 
  3421.     This formulation allows colors to be digitized with minimum loss of 
  3422.     fidelity; this is important in sample images. 
  3423.  
  3424.     Special cases of CIEBasedABC include a variety of interesting and 
  3425.     useful color spaces, such as the CIE 1931 (XYZ)-space, a class of 
  3426.     calibrated RGB spaces, a class of opponent color spaces such as the 
  3427.     CIE 1976 (L*a*b*)-space and the NTSC, SECAM, and PAL television 
  3428.     spaces. 
  3429.  
  3430.     The CIEBased A color space is a one-dimensional and usually 
  3431.     achromatic analog of CIEBasedABC. 
  3432.  
  3433.     The following special color spaces are standard: 
  3434.  
  3435.  
  3436.  
  3437.     * The Pattern color space enables painting with a ``color'' defined 
  3438.       as a pattern, a graphical figure used repeatedly to cover the 
  3439.       areas that are to be painted. See the discussion of patterns for 
  3440.       more information. 
  3441.  
  3442.  
  3443.     * The Indexed color space provides a way to map from small integers 
  3444.       to arbitrary colors in a different color space such as a device 
  3445.       independent color space. 
  3446.  
  3447.  
  3448.     * The Separation color space provides control over either the 
  3449.       production of a color separation or the application of a device 
  3450.       colorant, depending on the nature and configuration of the 
  3451.       device. 
  3452.  
  3453.     The following device dependent color spaces are standard: 
  3454.  
  3455.  
  3456.  
  3457.     * The DeviceGray color space is equivalent to the existing 
  3458.       PostScript language's gray color model. 
  3459.  
  3460.  
  3461.     * The DeviceRGB color space is equivalent to the existing 
  3462.       PostScript language's red-green-blue (RGB) color model. 
  3463.  
  3464.  
  3465.     * The DeviceCMYK color space is equivalent to the existing 
  3466.       PostScript language's cyan-magenta-yellow-black (CMYK) color 
  3467.       model. 
  3468.  
  3469.  
  3470. Subject: 11.16 New screening/halftoning technology 
  3471.  
  3472.  
  3473.  
  3474.     * Improved algorithms for determining the angles and frequencies 
  3475.       used for halftone screens. The improvements fall into two primary 
  3476.       categories: general improvements, and improvements specific to 
  3477.       color separations. 
  3478.  
  3479.  
  3480.     * General improvements: (1) The new algorithms yield a 10 % 
  3481.       improvement in the speed of the setscreen and image operators; 
  3482.       (2) Earlier version of PostScript software could produce halftone 
  3483.       screens only for certain angle and frequency combinations. Enough 
  3484.       of these combinations were available so that any requested screen 
  3485.       could be fairly well approximated by one of the available angle 
  3486.       and frequency combinations. In contrast, the improved halftoning 
  3487.       algorithms can provide as much as a ten-fold increase in the 
  3488.       number of angle-frequency combinations that are available, 
  3489.       depending on the device resolution and the available memory. 
  3490.       Benefits: Increased performance and higher quality halftone 
  3491.       screens. 
  3492.  
  3493.  
  3494.     * Improvements specific to color separations: An additional feature 
  3495.       is available that enables PostScript software to generate 
  3496.       extremely accurate screen angles and frequencies. The screens 
  3497.       produced by this method can achieve an angular accuracy of within 
  3498.       05 degrees or better, depending on such parameters as exact 
  3499.       screen angle requested, device resolution, and memory available 
  3500.       for use by the algorithm. Benefits: Extremely high-quality color 
  3501.       separations that approach the quality that previously was 
  3502.       available only from high-end, color electronic pre-press systems. 
  3503.  
  3504.  
  3505. Subject: 11.17 Improved printer support features 
  3506.  
  3507.  
  3508.  
  3509.     * Page device setup provides a device independent framework for 
  3510.       specifying the requirements of a page description and for 
  3511.       controlling both standard features, such as the number of copies, 
  3512.       and optional features, such as duplex printing, paper trays, 
  3513.       paper sizes, and other peripheral features. 
  3514.  
  3515.  
  3516.     * Applications developers will be able to write a single driver for 
  3517.       a variety of different PostScript printers. The same code can be 
  3518.       used to address printer specific features whether the features 
  3519.       exist in the printer or not. If the feature is not in the 
  3520.       printer, the application can decide how to best respond to the 
  3521.       lack of the feature. Benefits: Enhanced functionality. ISVs 
  3522.       benefit by having a more uniform method for accessing printer 
  3523.       specific features. End users benefit by having software that will 
  3524.       take advantage of their printer's features. 
  3525.  
  3526.  
  3527. Subject: 11.18 Interpreter parameters 
  3528.  
  3529.     Administrative operations, such as system configuration and 
  3530.     changing input-output device parameters, are now organized in a 
  3531.     more systematic way. Allocation of memory and other resources for 
  3532.     specific purposes is under software control. For example, there are 
  3533.     parameters controlling the maximum amount of memory to be used for 
  3534.     VM, font cache, pattern cache, and halftone screens. Benefits: 
  3535.     Flexibility. 
  3536.  
  3537.  
  3538. Subject: 11.19 Resources 
  3539.  
  3540.  
  3541.  
  3542.     * A resource is a collection of named objects that either reside in 
  3543.       VM or can be located and brought into VM on demand. There are 
  3544.       separate categories of resources with independent name spaces - 
  3545.       for example, fonts and forms are distinct resource categories. 
  3546.  
  3547.  
  3548.     * The language includes convenient facilities for locating and 
  3549.       managing resources. 
  3550.  
  3551.  
  3552. Subject: 11.20 Dictionaries 
  3553.  
  3554.     Many Level 2 operators expect a dictionary operand that contains 
  3555.     key-value pairs specifying parameters to the operator. Language 
  3556.     features controlled in this way include halftones, images, forms, 
  3557.     patterns, and device setup. This organization allows for optional 
  3558.     parameters and future extensibility. For convenience in using such 
  3559.     operators, the PostScript language syntax includes new tokens, 
  3560.   
  3561.   
  3562.    << and >>,
  3563.   
  3564.   
  3565.     to construct a dictionary containing the bracketed key-value pairs. 
  3566.     Benefits: Convenience, extensibility. 
  3567.  
  3568.  
  3569. Subject: 11.21 When did Level 2 products come available? 
  3570.  
  3571.     The first Level 2 products were available in early 1991. Level 2 
  3572.     printers will soon be much more common. 
  3573.  
  3574.  
  3575. Subject: 11.22 Are Level 1 and Level 2 implementations compatible? 
  3576.  
  3577.     [ Mostly, but not fully. The incompatibilities are of sufficient 
  3578.     magnitude that when QMS introduced its first Level 2 compatible 
  3579.     printer, it provided a ``Level 1'' mode for backward compatibility, 
  3580.     for handling jobs which wouldn't run in Level 2. This should not be 
  3581.     taken as too much of a criticism...some of the incom- patibilities 
  3582.     from Level 1 to Level 2 involved fixing design mistakes in Level 1, 
  3583.     or tightening up definitions which had been loose in Level 1 (where 
  3584.     careless application writers had made use of the looseness, writing 
  3585.     not to the language specification but to particular 
  3586.     implementations.) ] 
  3587.  
  3588.     (C) 1990 Adobe Systems Incorporated. All rights reserved. 
  3589.     PostScript, Display PostScript, and Adobe are trademarks of Adobe 
  3590.     Systems Incorporated registered in the U.S. All other product names 
  3591.     are trademarks or registered trademarks of their respective 
  3592.